Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/community_growth_20k.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ Set `GITHUB_TOKEN` when running this from CI or a shared network so GitHub's pub
| `ray-project/ray#64053` Ray Serve FunASR ASR example | Puts FunASR in production serving docs for teams already using Ray | Monitor review, answer questions quickly, and keep the example command aligned with the current OpenAI-compatible API behavior. |
| `huggingface/optimum-intel#1801` OpenVINO support | Helps CPU and edge users evaluate Fun-ASR on Intel hardware | Watch for CI or reviewer feedback, then validate a minimal inference path before promoting it in FunASR docs. |
| `huggingface/speech-to-speech#319` SenseVoice STT handler | Adds SenseVoice/FunASR to local open-source voice-agent pipelines where low-latency STT is a core comparison point | Keep lint/import fixes on the PR head, explain optional `speech-to-speech[sensevoice]` install behavior, and answer handler-scope review quickly. |
| `livekit/agents#6176` FunASR/SenseVoice realtime STT plugin | Opens a path into LiveKit's realtime voice-agent ecosystem where local STT is evaluated alongside hosted providers | CI and CLA are green; avoid duplicate pings and monitor for maintainer review on plugin scope, package metadata, or optional dependency expectations. |
| `run-llama/llama_index#21958` FunASR endpoint reader | Puts FunASR behind a LlamaIndex reader for OpenAI-compatible transcription endpoints used in RAG and agent pipelines | Keep the endpoint contract clear, avoid forcing local `funasr` dependencies into the main package, and validate one request/response example when the author updates. |
| `run-llama/llama_index#21996` local FunASR reader | Gives LlamaIndex users a local SenseVoice/FunASR reader for private transcription workflows | Keep optional dependencies isolated, verify the reader does not affect default installs, and watch for maintainer guidance on package extras. |
| `xinnan-tech/xiaozhi-esp32-server#3255` configurable FunASR language | Improves a high-star ESP32 voice-agent backend by letting users pin SenseVoice/FunASR language for short utterances | Keep the single-module config and multi-module database migration aligned, then watch for maintainer review on the dynamic config form. |
Expand All @@ -144,6 +145,7 @@ Set `GITHUB_TOKEN` when running this from CI or a shared network so GitHub's pub
| `activepieces/activepieces#13985` FunASR speech recognition piece | Gives no-code workflow users a direct FunASR speech recognition action | The CLA status is author-controlled; monitor only for maintainer feedback or test failures until the author-side gate clears. |
| `Uberi/speech_recognition#903` FunASR recognizer | Exposes FunASR through a widely known Python speech-recognition wrapper | Keep the recognizer optional and lightweight, and be ready with a minimal install/import smoke test if maintainers ask for scope reduction. |
| `ai4s-research/awesome-ai-for-science#69` FunASR science toolkit listing | Creates a discovery path from scientific AI tooling lists to FunASR for transcription and field-recording workflows | Validate the link, keep the description technically accurate, and avoid extra comments unless maintainers ask for category or wording changes. |
| `lukasmasuch/best-of-ml-python#455` FunASR project listing | Adds FunASR to a high-star ranked Python ML discovery list that is refreshed weekly | The PR is mergeable and already has prior pings; keep monitoring without adding more comments unless new maintainer feedback or validation evidence appears. |
| `mahseema/awesome-ai-tools#1689` FunClip video-tool listing | Adds FunClip to a high-visibility AI tools list where video creators discover clipping and subtitle workflows | Validate the FunClip link, keep the description aligned with local transcription/SRT/AI clipping capabilities, and avoid status pings after evidence is posted. |

Operating rules:
Expand Down
2 changes: 2 additions & 0 deletions scripts/collect_growth_metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"ray-project/ray#64053",
"huggingface/optimum-intel#1801",
"huggingface/speech-to-speech#319",
"livekit/agents#6176",
"run-llama/llama_index#21958",
"run-llama/llama_index#21996",
"xinnan-tech/xiaozhi-esp32-server#3255",
Expand All @@ -48,6 +49,7 @@
"activepieces/activepieces#13985",
"Uberi/speech_recognition#903",
"ai4s-research/awesome-ai-for-science#69",
"lukasmasuch/best-of-ml-python#455",
"mahseema/awesome-ai-tools#1689",
]
FAILED_CHECK_CONCLUSIONS = {"action_required", "cancelled", "failure", "startup_failure", "timed_out"}
Expand Down
11 changes: 11 additions & 0 deletions tests/test_collect_growth_metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,17 @@ def test_default_integration_prs_include_video_discovery_lanes():
assert expected_prs.issubset(set(module.DEFAULT_INTEGRATION_PRS))


def test_default_integration_prs_include_voice_agent_and_ml_discovery_lanes():
module = load_growth_metrics_module()

expected_prs = {
"livekit/agents#6176",
"lukasmasuch/best-of-ml-python#455",
}

assert expected_prs.issubset(set(module.DEFAULT_INTEGRATION_PRS))


def test_collect_github_repo_metrics_splits_open_issues_and_pull_requests(monkeypatch):
module = load_growth_metrics_module()

Expand Down