Registro público
Informe de salud del softwareesquema 0.12.0 · métricas 1.13.0 · 2026-07-18 04:21 UTC

livekit / agents

A framework for building realtime voice AI agents 🤖🎙️📹

PythonApache-2.0★ 11.411 estrellas⑂ 3348 forksdesde oct 2023Ver en GitHub ↗

livekit/agents tiene un índice de salud de 83 sobre 100, lo que lo sitúa en la banda Bueno. Su puntuación más alta es Vitality (100/100) y la más baja, Security (67/100). Se actualizó por última vez hoy. 3 personas concentran la mayor parte del trabajo reciente.

83
global / 100
Bueno

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

83
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

Titularidad

LiveKitOrganización
3221 seguidores109 repositorios públicosdesde ago 2020

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
PyPIlivekit-agents1.6.6-210hace 0 díasaiagentsaudiolivekitrealtimevideowebrtc

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

100Excelente · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
36/36Cadencia de commits — 52/52 semanas con commits
18/18Volumen de commits — 1634 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year1634
human_commit_share
days_since_last_push0
active_weeks_last_year52
Cómo se puntúa
27/27Publica versiones — 100 versiones publicadas
36/36Recencia de las versiones — última versión hace 8 días
27/27Cadencia de publicación — una versión cada ~5,5 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count100
latest_release_taglivekit-agents@1.6.5
releases_from_tagsno
days_since_latest_release8
mean_days_between_releases5,5
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

91Excelente · 18% del índice global
Cómo se puntúa
60/60Estrellas — 11.411 estrellas
25/25Forks — 3348 forks
11/15Observadores — 98 observadores
Datos de entrada utilizados
forks3348
stars11.411
watchers98
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (Apache-2.0)
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conduct
has_pull_request_templateno

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

84Bueno · 24% del índice global
Cómo se puntúa
36/54Factor bus — la mitad de los commits recae en 3 contribuyente(s)
15.6/22.5Distribución de commits — el principal contribuyente firma el 31% de los commits
13.5/13.5Amplitud de contribuyentes — 100 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 11 contributing companies or organizations
Datos de entrada utilizados
bus_factor3
contributors_sampled100
top_contributor_share0,306
Cómo se puntúa
41.6/46.8Resolución de issues — 89% de issues cerradas
31.2/38.3Aceptación de PR — 3258/3989 PR decididos fusionados
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Datos de entrada utilizados
merged_prs3258
open_issues218
closed_issues1769
issue_closed_ratio0,89
closed_unmerged_prs731
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
25/25Alcance del propietario — 3221 seguidores de livekit
24.9/25Trayectoria — 109 repos públicos, cuenta de ~5 años
Datos de entrada utilizados
followers3221
owner_typeOrganization
is_verified
owner_loginlivekit
public_repos109
account_age_days2168
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en pypi
35/35Recencia de publicación — última publicación hace 0 días
20/20Historial de versiones — 210 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packageslivekit-agents
ecosystemspypi
any_deprecatedno
min_days_since_publish0

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

71Bueno · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 12 flujo(s) de trabajo
24/24Pruebas presentes
0/16Configuración de linter
0/9.6Hooks de pre-commit
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_configno
has_precommit_configno
Cómo se puntúa
30/30README
0/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://docs.livekit.io/agents
10/10Descripción del repositorio
10/10Topics — 6 topics
10/10Wiki
Datos de entrada utilizados
topicsai, real-time, voice, video, agents, openai
has_wiki
homepagehttps://docs.livekit.io/agents
has_readme
has_docs_dirno
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

67Moderado · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
3/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 11 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
1.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
4/5SAST — SAST tool is not run on all commits -- score normalized to 8
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
4.5/7.5Vulnerabilities — 4 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate6,7
Excluidos de la puntuación (sin datos o no aplicable): signed_releases. Los pesos restantes se han renormalizado.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

72Bueno · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — AGENTS.md, CLAUDE.md
0/15Documentación legible por máquinas (llms.txt)
0/40Historial de commits legible — sin datos
Datos de entrada utilizados
has_llms_txtno
legible_history_share
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes5996
Excluidos de la puntuación (sin datos o no aplicable): Historial de commits legible. Los pesos restantes se han renormalizado.
Cómo se puntúa
18/18Arranque con un solo comando — makefile, tests/Makefile
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — livekit-agents/livekit/agents/py.typed, livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed, livekit-plugins/livekit-durable/livekit/durable/py.typed, livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed, livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed, livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed, livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed, livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed, livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed, livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed, livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed, livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed, livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed, livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed, livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed, livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed, livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed, livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed, livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed, livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed, livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed, livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed, livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed, livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed, livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed, livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed, livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed, livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed, livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed, livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed, livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed, livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed, livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed, livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed, livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed, livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed, livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed, livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed, livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed, livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed, livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed, livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed, livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed, livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed, livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed, livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed, livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed, livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed, livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed, livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed, livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed, livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed, livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed, livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed, livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed, livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed, livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed, livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed, livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed, livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed, livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed, livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed, livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed, livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed, livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed, livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed, livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed, livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed, livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed, livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed, livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed
10/10Entorno reproducible — Dockerfile, lockfile
0/10Práctica demostrada con agentes — sin datos
0/8Mantenimiento automatizado — sin datos
3/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
Datos de entrada utilizados
has_nixno
has_tests
lockfilesuv.lock
has_dockerfile
typed_languageno
bootstrap_filesmakefile, tests/Makefile
has_devcontainerno
has_linter_configno
typecheck_configslivekit-agents/livekit/agents/py.typed, livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed, livekit-plugins/livekit-durable/livekit/durable/py.typed, livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed, livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed, livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed, livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed, livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed, livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed, livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed, livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed, livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed, livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed, livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed, livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed, livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed, livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed, livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed, livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed, livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed, livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed, livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed, livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed, livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed, livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed, livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed, livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed, livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed, livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed, livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed, livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed, livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed, livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed, livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed, livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed, livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed, livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed, livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed, livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed, livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed, livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed, livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed, livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed, livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed, livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed, livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed, livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed, livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed, livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed, livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed, livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed, livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed, livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed, livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed, livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed, livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed, livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed, livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed, livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed, livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed, livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed, livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed, livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed, livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed, livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed, livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed, livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed, livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed, livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed, livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed, livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed
agent_commit_share
toolchain_manifests
dependency_bot_commit_share
Excluidos de la puntuación (sin datos o no aplicable): Práctica demostrada con agentes, Mantenimiento automatizado. Los pesos restantes se han renormalizado.
Cómo se puntúa
27/45Código verificable por tipos — Python con configuración de verificación de tipos (livekit-agents/livekit/agents/py.typed, livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed, livekit-plugins/livekit-durable/livekit/durable/py.typed, livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed, livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed, livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed, livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed, livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed, livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed, livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed, livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed, livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed, livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed, livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed, livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed, livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed, livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed, livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed, livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed, livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed, livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed, livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed, livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed, livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed, livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed, livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed, livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed, livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed, livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed, livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed, livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed, livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed, livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed, livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed, livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed, livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed, livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed, livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed, livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed, livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed, livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed, livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed, livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed, livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed, livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed, livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed, livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed, livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed, livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed, livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed, livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed, livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed, livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed, livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed, livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed, livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed, livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed, livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed, livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed, livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed, livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed, livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed, livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed, livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed, livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed, livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed, livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed, livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed, livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed, livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed, livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed)
54.2/55Tamaños de archivo manejables — 13/862 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes188.082
source_files_sampled862
oversized_source_files13
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signalno
api_schema_files

Datos clave

11.411estrellas de GitHub
100contribuidores
1634commits en los últimos 12 meses
0días desde el último push
100versiones publicadas
3factor bus
218issues abiertas
PyPIecosistemas de paquetes

Más detalle

OpenSSF Scorecard 6.7 / 10
6.7agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-18 04:20 UTC

10Binary-Artifactsno binaries found in the repo
4Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 11 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
3Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 3
8SASTSAST tool is not run on all commits -- score normalized to 8
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
6Vulnerabilities4 existing vulnerabilities detected
Dependencias directas 31
RegistroPaqueteRestricción de versiónManifiesto
PyPIcertifi>=2025.6.15livekit-agents/pyproject.toml
PyPIlivekit==1.1.13livekit-agents/pyproject.toml
PyPIlivekit-api>=1.2.0,<2livekit-agents/pyproject.toml
PyPIlivekit-local-inference>=0.2.6livekit-agents/pyproject.toml
PyPIlivekit-protocol>=1.1.19,<2livekit-agents/pyproject.toml
PyPIlivekit-blingfire~=1.1,<2livekit-agents/pyproject.toml
PyPIprotobuf>=3livekit-agents/pyproject.toml
PyPIpyjwt>=2.0livekit-agents/pyproject.toml
PyPItypes-protobuf>=4livekit-agents/pyproject.toml
PyPIpsutil>=7.0livekit-agents/pyproject.toml
PyPIaiohttp~=3.10livekit-agents/pyproject.toml
PyPItyping-extensions>=4.12livekit-agents/pyproject.toml
PyPIdocstring_parser>=0.16livekit-agents/pyproject.toml
PyPIeval-type-backportlivekit-agents/pyproject.toml
PyPIcolorama>=0.4.6livekit-agents/pyproject.toml
PyPIav>=14.0.0livekit-agents/pyproject.toml
PyPInumpy>=1.26.0livekit-agents/pyproject.toml
PyPIpydantic>=2.0,<3livekit-agents/pyproject.toml
PyPInest-asyncio>=1.6.0livekit-agents/pyproject.toml
PyPIopentelemetry-api~=1.39.0livekit-agents/pyproject.toml
PyPIopentelemetry-sdk~=1.39.0livekit-agents/pyproject.toml
PyPIopentelemetry-exporter-otlp~=1.39.0livekit-agents/pyproject.toml
PyPIprometheus-client>=0.22livekit-agents/pyproject.toml
PyPIopenai>=2livekit-agents/pyproject.toml
PyPIaiofiles>=24livekit-agents/pyproject.toml
PyPIjson-repair==0.60.1livekit-agents/pyproject.toml
PyPIpyyaml>=6.0.3livekit-agents/pyproject.toml
PyPItyper>=0.15.1livekit-agents/pyproject.toml
PyPIclick~=8.1livekit-agents/pyproject.toml
PyPIsounddevice>=0.5livekit-agents/pyproject.toml
PyPIwatchfiles>=1.0livekit-agents/pyproject.toml
Todas las dependencias 375

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 63 paquetes directos y 312 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

RegistroPaqueteVersiónRelación
PyPIaiofilesdirecta
PyPIaiofiles25.1.0directa
PyPIaiohttpdirecta
PyPIaiohttp3.14.1directa
PyPIavdirecta
PyPIav18.0.0directa
PyPIcertifidirecta
PyPIcertifi2026.6.17directa
PyPIclickdirecta
PyPIclick8.4.2directa
PyPIcoloramadirecta
PyPIcolorama0.4.6directa
PyPIdocstring-parserdirecta
PyPIdocstring-parser0.18.0directa
PyPIeval-type-backportdirecta
PyPIeval-type-backport0.4.0directa
PyPIjson-repair0.59.10directa
PyPIjson-repair0.60.1directa
PyPIlivekitdirecta
PyPIlivekit1.1.13directa
PyPIlivekit1.1.9directa
PyPIlivekit-apidirecta
PyPIlivekit-api1.2.0directa
PyPIlivekit-blingfiredirecta
PyPIlivekit-blingfire1.1.0directa
PyPIlivekit-local-inferencedirecta
PyPIlivekit-local-inference0.2.6directa
PyPIlivekit-protocoldirecta
PyPIlivekit-protocol1.1.19directa
PyPInest-asynciodirecta
PyPInest-asyncio1.6.0directa
PyPInumpydirecta
PyPInumpy2.5.1directa
PyPIopenaidirecta
PyPIopenai2.46.0directa
PyPIopentelemetry-apidirecta
PyPIopentelemetry-api1.39.1directa
PyPIopentelemetry-exporter-otlpdirecta
PyPIopentelemetry-exporter-otlp1.39.1directa
PyPIopentelemetry-sdkdirecta
PyPIopentelemetry-sdk1.39.1directa
PyPIprometheus-clientdirecta
PyPIprometheus-client0.25.0directa
PyPIprotobufdirecta
PyPIprotobuf6.33.6directa
PyPIpsutildirecta
PyPIpsutil7.2.2directa
PyPIpydanticdirecta
PyPIpydantic2.13.4directa
PyPIpyjwtdirecta
PyPIpyjwt2.13.0directa
PyPIpyyamldirecta
PyPIpyyaml6.0.3directa
PyPIsounddevicedirecta
PyPIsounddevice0.5.5directa
PyPItyperdirecta
PyPItyper0.27.0directa
PyPItypes-protobufdirecta
PyPItypes-protobuf7.34.1.20260518directa
PyPItyping-extensionsdirecta
PyPItyping-extensions4.16.0directa
PyPIwatchfilesdirecta
PyPIwatchfiles1.2.0directa
PyPIaioboto315.5.0indirecta
PyPIaiobotocoreindirecta
PyPIaiobotocore2.25.1indirecta
PyPIaiocsvindirecta
PyPIaiofileindirecta
PyPIaiohappyeyeballs2.7.1indirecta
PyPIaioitertools0.13.0indirecta
PyPIaiosignal1.4.0indirecta
PyPIannotated-doc0.0.4indirecta
PyPIannotated-types0.7.0indirecta
PyPIannoyindirecta
PyPIanthropicindirecta
PyPIanthropic0.117.0indirecta
PyPIanyio4.14.2indirecta
PyPIapswindirecta
PyPIast-serialize0.6.0indirecta
PyPIasyncstdlib3.14.0indirecta
PyPIattrs26.1.0indirecta
PyPIaws-sdk-bedrock-runtimeindirecta
PyPIaws-sdk-bedrock-runtime0.7.0indirecta
PyPIaws-sdk-signersindirecta
PyPIaws-sdk-signers0.3.0indirecta
PyPIaws-sdk-transcribe-streamingindirecta
PyPIaws-sdk-transcribe-streaming0.7.0indirecta
PyPIawscrt0.32.2indirecta
PyPIazure-cognitiveservices-speechindirecta
PyPIazure-cognitiveservices-speech1.50.0indirecta
PyPIazure-core1.41.0indirecta
PyPIbeautifulsoup44.15.0indirecta
PyPIbithumanindirecta
PyPIbithuman2.7.0indirecta
PyPIboto3indirecta
PyPIboto31.40.61indirecta
PyPIbotocore1.40.61indirecta
PyPIcffi2.1.0indirecta
PyPIcharset-normalizer3.4.9indirecta
PyPIcryptography49.0.0indirecta
PyPIdefusedxml0.7.1indirecta
PyPIdistro1.9.0indirecta
PyPIduckduckgo-searchindirecta
PyPIexecnet2.1.2indirecta
PyPIfal-clientindirecta
PyPIfal-client1.0.0indirecta
PyPIfilelock3.30.2indirecta
PyPIflatbuffers25.12.19indirecta
PyPIfrozenlist1.8.0indirecta
PyPIfsspec2026.6.0indirecta
PyPIgoogle-api-core2.32.0indirecta
PyPIgoogle-authindirecta
PyPIgoogle-auth2.56.0indirecta
PyPIgoogle-cloud-speechindirecta
PyPIgoogle-cloud-speech2.40.0indirecta
PyPIgoogle-cloud-texttospeechindirecta
PyPIgoogle-cloud-texttospeech2.37.0indirecta
PyPIgoogle-genaiindirecta
PyPIgoogle-genai1.3.0indirecta
PyPIgoogle-genai2.11.0indirecta
PyPIgoogleapis-common-protos1.75.0indirecta
PyPIgreenlet3.5.3indirecta
PyPIgrpcio1.82.1indirecta
PyPIgrpcio-status1.81.1indirecta
PyPIgrpcio-tools1.81.1indirecta
PyPIh110.16.0indirecta
PyPIhatchlingindirecta
PyPIhf-xet1.5.2indirecta
PyPIhttpcore1.0.9indirecta
PyPIhttpxindirecta
PyPIhttpx0.28.1indirecta
PyPIhttpx-sse0.4.3indirecta
PyPIhuggingface-hub0.36.2indirecta
PyPIidna3.18indirecta
PyPIijson3.5.1indirecta
PyPIimportlib-metadata8.7.1indirecta
PyPIiniconfig2.3.0indirecta
PyPIjinja2indirecta
PyPIjinja23.1.6indirecta
PyPIjiter0.16.0indirecta
PyPIjiwer4.0.0indirecta
PyPIjmespath1.1.0indirecta
PyPIjoblib1.5.3indirecta
PyPIjsonpatch1.33indirecta
PyPIjsonpath-python1.1.6indirecta
PyPIjsonpointer3.1.1indirecta
PyPIjsonschema4.26.0indirecta
PyPIjsonschema-specifications2025.9.1indirecta
PyPIlangchain-coreindirecta
PyPIlangchain-core1.4.9indirecta
PyPIlangchain-protocol0.0.18indirecta
PyPIlanggraphindirecta
PyPIlanggraph1.2.9indirecta
PyPIlanggraph-checkpoint4.1.1indirecta
PyPIlanggraph-prebuilt1.1.0indirecta
PyPIlanggraph-sdk0.4.2indirecta
PyPIlangsmith0.10.5indirecta
PyPIlibrt0.13.0indirecta
PyPIlivekit-agentsindirecta
PyPIlivekit-browserindirecta
PyPIlivekit-browser0.1.4indirecta
PyPIlivekit-plugins-anamindirecta
PyPIlivekit-plugins-anthropicindirecta
PyPIlivekit-plugins-assemblyaiindirecta
PyPIlivekit-plugins-asyncaiindirecta
PyPIlivekit-plugins-avatarioindirecta
PyPIlivekit-plugins-avatartalkindirecta
PyPIlivekit-plugins-awsindirecta
PyPIlivekit-plugins-azureindirecta
PyPIlivekit-plugins-basetenindirecta
PyPIlivekit-plugins-beyindirecta
PyPIlivekit-plugins-bithumanindirecta
PyPIlivekit-plugins-browserindirecta
PyPIlivekit-plugins-cambaiindirecta
PyPIlivekit-plugins-cartesiaindirecta
PyPIlivekit-plugins-cerebrasindirecta
PyPIlivekit-plugins-clovaindirecta
PyPIlivekit-plugins-deepgramindirecta
PyPIlivekit-plugins-didindirecta
PyPIlivekit-plugins-elevenlabsindirecta
PyPIlivekit-plugins-falindirecta
PyPIlivekit-plugins-fireworksaiindirecta
PyPIlivekit-plugins-fishaudioindirecta
PyPIlivekit-plugins-gladiaindirecta
PyPIlivekit-plugins-gnaniindirecta
PyPIlivekit-plugins-googleindirecta
PyPIlivekit-plugins-gradiumindirecta
PyPIlivekit-plugins-groqindirecta
PyPIlivekit-plugins-hammingindirecta
PyPIlivekit-plugins-hedraindirecta
PyPIlivekit-plugins-humeindirecta
PyPIlivekit-plugins-inworldindirecta
PyPIlivekit-plugins-keyframeindirecta
PyPIlivekit-plugins-krisp-internalindirecta
PyPIlivekit-plugins-krisp-internal0.1.1indirecta
PyPIlivekit-plugins-langchainindirecta
PyPIlivekit-plugins-lemonsliceindirecta
PyPIlivekit-plugins-liveavatarindirecta
PyPIlivekit-plugins-lmntindirecta
PyPIlivekit-plugins-minimax-aiindirecta
PyPIlivekit-plugins-mistralaiindirecta
PyPIlivekit-plugins-murfindirecta
PyPIlivekit-plugins-neuphonicindirecta
PyPIlivekit-plugins-nltkindirecta
PyPIlivekit-plugins-nvidiaindirecta
PyPIlivekit-plugins-openaiindirecta
PyPIlivekit-plugins-perplexityindirecta
PyPIlivekit-plugins-phonicindirecta
PyPIlivekit-plugins-protofaceindirecta
PyPIlivekit-plugins-ragindirecta
PyPIlivekit-plugins-resembleindirecta
PyPIlivekit-plugins-respeecherindirecta
PyPIlivekit-plugins-rimeindirecta
PyPIlivekit-plugins-rtzrindirecta
PyPIlivekit-plugins-runwayindirecta
PyPIlivekit-plugins-sarvamindirecta
PyPIlivekit-plugins-sileroindirecta
PyPIlivekit-plugins-simliindirecta
PyPIlivekit-plugins-simplismartindirecta
PyPIlivekit-plugins-slngindirecta
PyPIlivekit-plugins-smallestaiindirecta
PyPIlivekit-plugins-sonioxindirecta
PyPIlivekit-plugins-speechifyindirecta
PyPIlivekit-plugins-speechmaticsindirecta
PyPIlivekit-plugins-spitchindirecta
PyPIlivekit-plugins-tavusindirecta
PyPIlivekit-plugins-trugenindirecta
PyPIlivekit-plugins-turn-detectorindirecta
PyPIlivekit-plugins-ultravoxindirecta
PyPIlivekit-plugins-upliftaiindirecta
PyPIlivekit-plugins-xaiindirecta
PyPIloguru0.7.3indirecta
PyPImako1.3.12indirecta
PyPImarkdown3.10.2indirecta
PyPImarkdown-it-py4.2.0indirecta
PyPImarkdownify1.2.3indirecta
PyPImarkupsafe3.0.3indirecta
PyPImcpindirecta
PyPImcp1.28.1indirecta
PyPImdurl0.1.2indirecta
PyPImistralaiindirecta
PyPImistralai2.7.0indirecta
PyPImsgpackindirecta
PyPImsgpack1.2.1indirecta
PyPImsgpack-typesindirecta
PyPImsgpack-types0.8.0indirecta
PyPImultidict6.7.1indirecta
PyPImypy2.3.0indirecta
PyPImypy-extensions1.1.0indirecta
PyPInarwhals2.24.0indirecta
PyPInetworkx3.6.1indirecta
PyPInltkindirecta
PyPInltk3.10.0indirecta
PyPInumpy-typing-compat20260602.2.5indirecta
PyPInvidia-riva-client2.16.0indirecta
PyPIonnxruntimeindirecta
PyPIonnxruntime1.27.0indirecta
PyPIopencv-python-headless5.0.0.93indirecta
PyPIopentelemetry-exporter-otlp-proto-common1.39.1indirecta
PyPIopentelemetry-exporter-otlp-proto-grpc1.39.1indirecta
PyPIopentelemetry-exporter-otlp-proto-http1.39.1indirecta
PyPIopentelemetry-proto1.39.1indirecta
PyPIopentelemetry-semantic-conventions0.60b1indirecta
PyPIoptype0.18.0indirecta
PyPIorjson3.11.9indirecta
PyPIormsgpack1.12.2indirecta
PyPIpackaging26.2indirecta
PyPIpandas-stubs3.0.3.260530indirecta
PyPIpathspec1.1.1indirecta
PyPIpdoc30.11.6indirecta
PyPIphonicindirecta
PyPIphonic0.32.13indirecta
PyPIpillowindirecta
PyPIpillow12.3.0indirecta
PyPIplaywright1.61.0indirecta
PyPIpluggy1.6.0indirecta
PyPIpropcache0.5.2indirecta
PyPIproto-plus1.28.1indirecta
PyPIpyasn10.6.4indirecta
PyPIpyasn1-modules0.4.2indirecta
PyPIpycparser3.0indirecta
PyPIpydantic-core2.46.4indirecta
PyPIpydantic-settings2.14.2indirecta
PyPIpydubindirecta
PyPIpydub0.25.1indirecta
PyPIpyee13.0.1indirecta
PyPIpygments2.20.0indirecta
PyPIpyhtindirecta
PyPIpytest9.0.3indirecta
PyPIpytest-asyncio1.4.0indirecta
PyPIpytest-asyncio-concurrent0.5.2indirecta
PyPIpytest-xdist3.8.0indirecta
PyPIpython-dateutil2.9.0.post0indirecta
PyPIpython-dotenvindirecta
PyPIpython-dotenv1.2.2indirecta
PyPIpython-multipart0.0.32indirecta
PyPIpywin32312indirecta
PyPIrapidfuzz3.14.5indirecta
PyPIreferencing0.37.0indirecta
PyPIregex2026.7.10indirecta
PyPIrequests2.34.2indirecta
PyPIrequests-toolbelt1.0.0indirecta
PyPIrich15.0.0indirecta
PyPIrpds-py2026.6.3indirecta
PyPIruff0.15.22indirecta
PyPIs3transfer0.14.0indirecta
PyPIsafetensors0.8.0indirecta
PyPIscikit-learn1.9.0indirecta
PyPIscipy1.18.0indirecta
PyPIscipy-stubs1.18.0.1indirecta
PyPIsetuptools83.0.0indirecta
PyPIshellingham1.5.4indirecta
PyPIsix1.17.0indirecta
PyPIsmithy-aws-core0.7.0indirecta
PyPIsmithy-aws-event-stream0.3.0indirecta
PyPIsmithy-core0.6.0indirecta
PyPIsmithy-http0.4.2indirecta
PyPIsmithy-json0.2.3indirecta
PyPIsniffio1.3.1indirecta
PyPIsoundfile0.14.0indirecta
PyPIsoupsieve2.8.4indirecta
PyPIspeechmatics-rt1.1.0indirecta
PyPIspeechmatics-voiceindirecta
PyPIspeechmatics-voice0.2.8indirecta
PyPIsphnindirecta
PyPIsphn0.2.1indirecta
PyPIspitchindirecta
PyPIspitch1.50.0indirecta
PyPIsse-starlette3.4.5indirecta
PyPIstarlette1.3.1indirecta
PyPItenacity9.1.4indirecta
PyPIthreadpoolctl3.6.0indirecta
PyPItiktoken0.13.0indirecta
PyPItokenizers0.22.2indirecta
PyPItqdm4.68.4indirecta
PyPItransformersindirecta
PyPItransformers4.57.6indirecta
PyPItypes-aiofiles25.1.0.20260518indirecta
PyPItypes-cffi2.0.0.20260518indirecta
PyPItypes-defusedxml0.7.0.20260504indirecta
PyPItypes-docutils0.22.3.20260712indirecta
PyPItypes-gevent26.4.0.20260518indirecta
PyPItypes-greenlet3.5.0.20260518indirecta
PyPItypes-grpcio1.82.1.20260711indirecta
PyPItypes-grpcio-status1.0.0.20260408indirecta
PyPItypes-gunicorn26.0.0.20260518indirecta
PyPItypes-openpyxl3.1.5.20260518indirecta
PyPItypes-pexpect4.9.0.20260518indirecta
PyPItypes-psutil7.2.2.20260518indirecta
PyPItypes-pyasn10.6.0.20260408indirecta
PyPItypes-pyaudio0.2.16.20260508indirecta
PyPItypes-pygments2.20.0.20260518indirecta
PyPItypes-pysocks1.7.1.20260518indirecta
PyPItypes-python-dateutil2.9.0.20260716indirecta
PyPItypes-pyyaml6.0.12.20260518indirecta
PyPItypes-regex2026.7.10.20260711indirecta
PyPItypes-requests2.33.0.20260712indirecta
PyPItypes-setuptools83.0.0.20260716indirecta
PyPItypes-simplejson3.20.0.20260518indirecta
PyPItypes-tensorflow2.18.0.20260712indirecta
PyPItypes-tqdm4.68.0.20260608indirecta
PyPItypes-xlrd2.0.0.20260518indirecta
PyPItyping-inspection0.4.2indirecta
PyPItzdataindirecta
PyPIurllib32.7.0indirecta
PyPIuuid-utils0.17.0indirecta
PyPIuvicorn0.51.0indirecta
PyPIwebsocketsindirecta
PyPIwebsockets15.0.1indirecta
PyPIwin32-setctime1.2.0indirecta
PyPIwrapt1.17.3indirecta
PyPIxxhash3.8.1indirecta
PyPIyarl1.24.2indirecta
PyPIzipp4.1.0indirecta
PyPIzstandard0.25.0indirecta
Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [
        "ai",
        "real-time",
        "voice",
        "video",
        "agents",
        "openai"
      ],
      "is_fork": false,
      "size_kb": 34666,
      "has_wiki": true,
      "homepage": "https://docs.livekit.io/agents",
      "languages": {
        "C": 33841,
        "CMake": 1958,
        "Python": 6514554,
        "Makefile": 14747
      },
      "pushed_at": "2026-07-18T04:18:15Z",
      "created_at": "2023-10-19T23:00:55Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-18T04:16:18Z",
      "description": "A framework for building realtime voice AI agents 🤖🎙️📹 ",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": "https://livekit.io",
      "name": "LiveKit",
      "type": "Organization",
      "login": "livekit",
      "company": null,
      "followers": 3221,
      "avatar_url": "https://avatars.githubusercontent.com/u/69438833?v=4",
      "created_at": "2020-08-09T22:55:06Z",
      "is_verified": null,
      "public_repos": 109,
      "account_age_days": 2168
    },
    "activity": {
      "releases_count": 100,
      "commits_last_year": 1634,
      "latest_release_at": "2026-07-09T19:12:19Z",
      "latest_release_tag": "livekit-agents@1.6.5",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 52,
      "days_since_latest_release": 8,
      "mean_days_between_releases": 5.5
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "livekit-agents",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "AI",
            "agents",
            "audio",
            "livekit",
            "realtime",
            "video",
            "webrtc",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: Apache Software License",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3 :: Only",
            "Programming Language :: Python :: 3.10",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Topic :: Multimedia :: Sound/Audio",
            "Topic :: Multimedia :: Video",
            "Topic :: Scientific/Engineering :: Artificial Intelligence"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/livekit-agents/",
          "is_deprecated": false,
          "latest_version": "1.6.6",
          "repository_url": "https://github.com/livekit/agents",
          "versions_count": 210,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2023-11-14T01:13:16.754159Z",
          "latest_published_at": "2026-07-18T04:17:04.908637Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        }
      ]
    },
    "popularity": {
      "forks": 3348,
      "stars": 11411,
      "watchers": 98,
      "open_issues_and_prs": 680
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "makefile",
        "tests/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "livekit-agents/livekit/agents/py.typed",
        "livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed",
        "livekit-plugins/livekit-durable/livekit/durable/py.typed",
        "livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed",
        "livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed",
        "livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed",
        "livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed",
        "livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed",
        "livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed",
        "livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed",
        "livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed",
        "livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed",
        "livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed",
        "livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed",
        "livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed",
        "livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed",
        "livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed",
        "livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed",
        "livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed",
        "livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed",
        "livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed",
        "livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed",
        "livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed",
        "livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed",
        "livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed",
        "livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed",
        "livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed",
        "livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed",
        "livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed",
        "livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed",
        "livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed",
        "livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed",
        "livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed",
        "livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed",
        "livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed",
        "livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed",
        "livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed",
        "livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed",
        "livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed",
        "livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed",
        "livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed",
        "livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed",
        "livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed",
        "livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed",
        "livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed",
        "livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed",
        "livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed",
        "livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed",
        "livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed",
        "livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed",
        "livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed",
        "livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed",
        "livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed",
        "livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed",
        "livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed",
        "livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed",
        "livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed",
        "livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed",
        "livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed",
        "livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed",
        "livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed",
        "livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed",
        "livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed",
        "livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed",
        "livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed",
        "livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed",
        "livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed",
        "livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed",
        "livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed",
        "livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed",
        "livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed"
      ],
      "largest_source_bytes": 188082,
      "source_files_sampled": 862,
      "oversized_source_files": 13,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 5996
    },
    "dependencies": {
      "manifests": [
        "livekit-agents/pyproject.toml",
        "pyproject.toml"
      ],
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [
        {
          "name": "certifi",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2025.6.15"
        },
        {
          "name": "livekit",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==1.1.13"
        },
        {
          "name": "livekit-api",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.2.0,<2"
        },
        {
          "name": "livekit-local-inference",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.2.6"
        },
        {
          "name": "livekit-protocol",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.1.19,<2"
        },
        {
          "name": "livekit-blingfire",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=1.1,<2"
        },
        {
          "name": "protobuf",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3"
        },
        {
          "name": "pyjwt",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0"
        },
        {
          "name": "types-protobuf",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4"
        },
        {
          "name": "psutil",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=7.0"
        },
        {
          "name": "aiohttp",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=3.10"
        },
        {
          "name": "typing-extensions",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.12"
        },
        {
          "name": "docstring_parser",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.16"
        },
        {
          "name": "eval-type-backport",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "colorama",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.4.6"
        },
        {
          "name": "av",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=14.0.0"
        },
        {
          "name": "numpy",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.26.0"
        },
        {
          "name": "pydantic",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0,<3"
        },
        {
          "name": "nest-asyncio",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.6.0"
        },
        {
          "name": "opentelemetry-api",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=1.39.0"
        },
        {
          "name": "opentelemetry-sdk",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=1.39.0"
        },
        {
          "name": "opentelemetry-exporter-otlp",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=1.39.0"
        },
        {
          "name": "prometheus-client",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.22"
        },
        {
          "name": "openai",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2"
        },
        {
          "name": "aiofiles",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=24"
        },
        {
          "name": "json-repair",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==0.60.1"
        },
        {
          "name": "pyyaml",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=6.0.3"
        },
        {
          "name": "typer",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.15.1"
        },
        {
          "name": "click",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=8.1"
        },
        {
          "name": "sounddevice",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.5"
        },
        {
          "name": "watchfiles",
          "manifest": "livekit-agents/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "aiofiles",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiofiles",
            "direct": true,
            "version": "25.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": true,
            "version": "3.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "av",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "av",
            "direct": true,
            "version": "18.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": true,
            "version": "2026.6.17",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": "8.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": true,
            "version": "0.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": true,
            "version": "0.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "eval-type-backport",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "eval-type-backport",
            "direct": true,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "json-repair",
            "direct": true,
            "version": "0.59.10",
            "ecosystem": "pypi"
          },
          {
            "name": "json-repair",
            "direct": true,
            "version": "0.60.1",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit",
            "direct": true,
            "version": "1.1.13",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit",
            "direct": true,
            "version": "1.1.9",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-api",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-api",
            "direct": true,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-blingfire",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-blingfire",
            "direct": true,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-local-inference",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-local-inference",
            "direct": true,
            "version": "0.2.6",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-protocol",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-protocol",
            "direct": true,
            "version": "1.1.19",
            "ecosystem": "pypi"
          },
          {
            "name": "nest-asyncio",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "nest-asyncio",
            "direct": true,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": true,
            "version": "2.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "openai",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "openai",
            "direct": true,
            "version": "2.46.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-api",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-api",
            "direct": true,
            "version": "1.39.1",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp",
            "direct": true,
            "version": "1.39.1",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-sdk",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-sdk",
            "direct": true,
            "version": "1.39.1",
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": true,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": true,
            "version": "6.33.6",
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": true,
            "version": "7.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": true,
            "version": "2.13.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": true,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": true,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "sounddevice",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sounddevice",
            "direct": true,
            "version": "0.5.5",
            "ecosystem": "pypi"
          },
          {
            "name": "typer",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typer",
            "direct": true,
            "version": "0.27.0",
            "ecosystem": "pypi"
          },
          {
            "name": "types-protobuf",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "types-protobuf",
            "direct": true,
            "version": "7.34.1.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": true,
            "version": "4.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "watchfiles",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "watchfiles",
            "direct": true,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aioboto3",
            "direct": false,
            "version": "15.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiobotocore",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiobotocore",
            "direct": false,
            "version": "2.25.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aiocsv",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiofile",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiohappyeyeballs",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aioitertools",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiosignal",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-doc",
            "direct": false,
            "version": "0.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-types",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "annoy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "anthropic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "anthropic",
            "direct": false,
            "version": "0.117.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "apsw",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ast-serialize",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "asyncstdlib",
            "direct": false,
            "version": "3.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aws-sdk-bedrock-runtime",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aws-sdk-bedrock-runtime",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aws-sdk-signers",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aws-sdk-signers",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aws-sdk-transcribe-streaming",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aws-sdk-transcribe-streaming",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "awscrt",
            "direct": false,
            "version": "0.32.2",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-cognitiveservices-speech",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "azure-cognitiveservices-speech",
            "direct": false,
            "version": "1.50.0",
            "ecosystem": "pypi"
          },
          {
            "name": "azure-core",
            "direct": false,
            "version": "1.41.0",
            "ecosystem": "pypi"
          },
          {
            "name": "beautifulsoup4",
            "direct": false,
            "version": "4.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "bithuman",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "bithuman",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "boto3",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "boto3",
            "direct": false,
            "version": "1.40.61",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.40.61",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.9",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "49.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "defusedxml",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "distro",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "duckduckgo-search",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "execnet",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "fal-client",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "fal-client",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.30.2",
            "ecosystem": "pypi"
          },
          {
            "name": "flatbuffers",
            "direct": false,
            "version": "25.12.19",
            "ecosystem": "pypi"
          },
          {
            "name": "frozenlist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": false,
            "version": "2026.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": "2.32.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": "2.56.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-speech",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-speech",
            "direct": false,
            "version": "2.40.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-texttospeech",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-texttospeech",
            "direct": false,
            "version": "2.37.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-genai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-genai",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-genai",
            "direct": false,
            "version": "2.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": false,
            "version": "1.75.0",
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": false,
            "version": "1.82.1",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-status",
            "direct": false,
            "version": "1.81.1",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-tools",
            "direct": false,
            "version": "1.81.1",
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hatchling",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "hf-xet",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx-sse",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "huggingface-hub",
            "direct": false,
            "version": "0.36.2",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.18",
            "ecosystem": "pypi"
          },
          {
            "name": "ijson",
            "direct": false,
            "version": "3.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": false,
            "version": "8.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jiter",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jiwer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpatch",
            "direct": false,
            "version": "1.33",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpath-python",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpointer",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-core",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-core",
            "direct": false,
            "version": "1.4.9",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-protocol",
            "direct": false,
            "version": "0.0.18",
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph",
            "direct": false,
            "version": "1.2.9",
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph-checkpoint",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph-prebuilt",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph-sdk",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "langsmith",
            "direct": false,
            "version": "0.10.5",
            "ecosystem": "pypi"
          },
          {
            "name": "librt",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-agents",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-browser",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-browser",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-anam",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-anthropic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-assemblyai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-asyncai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-avatario",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-avatartalk",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-aws",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-azure",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-baseten",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-bey",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-bithuman",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-browser",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-cambai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-cartesia",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-cerebras",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-clova",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-deepgram",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-did",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-elevenlabs",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-fal",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-fireworksai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-fishaudio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-gladia",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-gnani",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-google",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-gradium",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-groq",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-hamming",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-hedra",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-hume",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-inworld",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-keyframe",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-krisp-internal",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-krisp-internal",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-langchain",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-lemonslice",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-liveavatar",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-lmnt",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-minimax-ai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-mistralai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-murf",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-neuphonic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-nltk",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-nvidia",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-openai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-perplexity",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-phonic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-protoface",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-rag",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-resemble",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-respeecher",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-rime",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-rtzr",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-runway",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-sarvam",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-silero",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-simli",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-simplismart",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-slng",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-smallestai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-soniox",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-speechify",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-speechmatics",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-spitch",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-tavus",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-trugen",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-turn-detector",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-ultravox",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-upliftai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "livekit-plugins-xai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "loguru",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mako",
            "direct": false,
            "version": "1.3.12",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown",
            "direct": false,
            "version": "3.10.2",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markdownify",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mcp",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mcp",
            "direct": false,
            "version": "1.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mistralai",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mistralai",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack-types",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack-types",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "multidict",
            "direct": false,
            "version": "6.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "narwhals",
            "direct": false,
            "version": "2.24.0",
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nltk",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "nltk",
            "direct": false,
            "version": "3.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy-typing-compat",
            "direct": false,
            "version": "20260602.2.5",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-riva-client",
            "direct": false,
            "version": "2.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "onnxruntime",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "onnxruntime",
            "direct": false,
            "version": "1.27.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opencv-python-headless",
            "direct": false,
            "version": "5.0.0.93",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp-proto-common",
            "direct": false,
            "version": "1.39.1",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp-proto-grpc",
            "direct": false,
            "version": "1.39.1",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp-proto-http",
            "direct": false,
            "version": "1.39.1",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-proto",
            "direct": false,
            "version": "1.39.1",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-semantic-conventions",
            "direct": false,
            "version": "0.60b1",
            "ecosystem": "pypi"
          },
          {
            "name": "optype",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.11.9",
            "ecosystem": "pypi"
          },
          {
            "name": "ormsgpack",
            "direct": false,
            "version": "1.12.2",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas-stubs",
            "direct": false,
            "version": "3.0.3.260530",
            "ecosystem": "pypi"
          },
          {
            "name": "pathspec",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pdoc3",
            "direct": false,
            "version": "0.11.6",
            "ecosystem": "pypi"
          },
          {
            "name": "phonic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "phonic",
            "direct": false,
            "version": "0.32.13",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "12.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.61.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "propcache",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "proto-plus",
            "direct": false,
            "version": "1.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1-modules",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.46.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-settings",
            "direct": false,
            "version": "2.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pydub",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pydub",
            "direct": false,
            "version": "0.25.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyee",
            "direct": false,
            "version": "13.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyht",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio-concurrent",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-xdist",
            "direct": false,
            "version": "3.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": false,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-multipart",
            "direct": false,
            "version": "0.0.32",
            "ecosystem": "pypi"
          },
          {
            "name": "pywin32",
            "direct": false,
            "version": "312",
            "ecosystem": "pypi"
          },
          {
            "name": "rapidfuzz",
            "direct": false,
            "version": "3.14.5",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.37.0",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2026.7.10",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.34.2",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-toolbelt",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "2026.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": "0.15.22",
            "ecosystem": "pypi"
          },
          {
            "name": "s3transfer",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "safetensors",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy-stubs",
            "direct": false,
            "version": "1.18.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": "83.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "shellingham",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "smithy-aws-core",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "smithy-aws-event-stream",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "smithy-core",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "smithy-http",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "smithy-json",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "sniffio",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "soundfile",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "soupsieve",
            "direct": false,
            "version": "2.8.4",
            "ecosystem": "pypi"
          },
          {
            "name": "speechmatics-rt",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "speechmatics-voice",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "speechmatics-voice",
            "direct": false,
            "version": "0.2.8",
            "ecosystem": "pypi"
          },
          {
            "name": "sphn",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphn",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "spitch",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "spitch",
            "direct": false,
            "version": "1.50.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sse-starlette",
            "direct": false,
            "version": "3.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "starlette",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tenacity",
            "direct": false,
            "version": "9.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "threadpoolctl",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tiktoken",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tokenizers",
            "direct": false,
            "version": "0.22.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": "4.68.4",
            "ecosystem": "pypi"
          },
          {
            "name": "transformers",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "transformers",
            "direct": false,
            "version": "4.57.6",
            "ecosystem": "pypi"
          },
          {
            "name": "types-aiofiles",
            "direct": false,
            "version": "25.1.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-cffi",
            "direct": false,
            "version": "2.0.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-defusedxml",
            "direct": false,
            "version": "0.7.0.20260504",
            "ecosystem": "pypi"
          },
          {
            "name": "types-docutils",
            "direct": false,
            "version": "0.22.3.20260712",
            "ecosystem": "pypi"
          },
          {
            "name": "types-gevent",
            "direct": false,
            "version": "26.4.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-greenlet",
            "direct": false,
            "version": "3.5.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-grpcio",
            "direct": false,
            "version": "1.82.1.20260711",
            "ecosystem": "pypi"
          },
          {
            "name": "types-grpcio-status",
            "direct": false,
            "version": "1.0.0.20260408",
            "ecosystem": "pypi"
          },
          {
            "name": "types-gunicorn",
            "direct": false,
            "version": "26.0.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-openpyxl",
            "direct": false,
            "version": "3.1.5.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pexpect",
            "direct": false,
            "version": "4.9.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-psutil",
            "direct": false,
            "version": "7.2.2.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pyasn1",
            "direct": false,
            "version": "0.6.0.20260408",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pyaudio",
            "direct": false,
            "version": "0.2.16.20260508",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pygments",
            "direct": false,
            "version": "2.20.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pysocks",
            "direct": false,
            "version": "1.7.1.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-python-dateutil",
            "direct": false,
            "version": "2.9.0.20260716",
            "ecosystem": "pypi"
          },
          {
            "name": "types-pyyaml",
            "direct": false,
            "version": "6.0.12.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-regex",
            "direct": false,
            "version": "2026.7.10.20260711",
            "ecosystem": "pypi"
          },
          {
            "name": "types-requests",
            "direct": false,
            "version": "2.33.0.20260712",
            "ecosystem": "pypi"
          },
          {
            "name": "types-setuptools",
            "direct": false,
            "version": "83.0.0.20260716",
            "ecosystem": "pypi"
          },
          {
            "name": "types-simplejson",
            "direct": false,
            "version": "3.20.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "types-tensorflow",
            "direct": false,
            "version": "2.18.0.20260712",
            "ecosystem": "pypi"
          },
          {
            "name": "types-tqdm",
            "direct": false,
            "version": "4.68.0.20260608",
            "ecosystem": "pypi"
          },
          {
            "name": "types-xlrd",
            "direct": false,
            "version": "2.0.0.20260518",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspection",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uuid-utils",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "pypi"
          },
          {
            "name": "websockets",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "websockets",
            "direct": false,
            "version": "15.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "win32-setctime",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": false,
            "version": "1.17.3",
            "ecosystem": "pypi"
          },
          {
            "name": "xxhash",
            "direct": false,
            "version": "3.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.24.2",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zstandard",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 375,
        "direct_count": 63,
        "indirect_count": 312
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 462,
        "merged_prs": 3258,
        "open_issues": 218,
        "closed_ratio": 0.89,
        "closed_issues": 1769,
        "closed_unmerged_prs": 731
      },
      "bus_factor": 3,
      "top_contributors": [
        {
          "type": "User",
          "login": "theomonnom",
          "commits": 985,
          "avatar_url": "https://avatars.githubusercontent.com/u/14841632?u=56823a9870a68ac6c35b990bef165e8f959b0767&v=4"
        },
        {
          "type": "User",
          "login": "longcw",
          "commits": 567,
          "avatar_url": "https://avatars.githubusercontent.com/u/6198400?u=2e35717279c61a7edb185a353ec672655c90bb10&v=4"
        },
        {
          "type": "User",
          "login": "davidzhao",
          "commits": 295,
          "avatar_url": "https://avatars.githubusercontent.com/u/320582?u=10dc8cf114ee64f7ab0aaf54d4875c3343184135&v=4"
        },
        {
          "type": "User",
          "login": "keepingitneil",
          "commits": 265,
          "avatar_url": "https://avatars.githubusercontent.com/u/8453967?u=3780f2f81153268c150cc0531a225a11d72fdf96&v=4"
        },
        {
          "type": "User",
          "login": "tinalenguyen",
          "commits": 175,
          "avatar_url": "https://avatars.githubusercontent.com/u/72938484?u=37f456a96bfa55e0c0b0602f7c257c09054728ae&v=4"
        },
        {
          "type": "User",
          "login": "chenghao-mou",
          "commits": 124,
          "avatar_url": "https://avatars.githubusercontent.com/u/241753398?u=333b0ff09d7571bc39facff4e99d91bcf11cae46&v=4"
        },
        {
          "type": "Bot",
          "login": "github-actions[bot]",
          "commits": 115,
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4"
        },
        {
          "type": "User",
          "login": "jayeshp19",
          "commits": 110,
          "avatar_url": "https://avatars.githubusercontent.com/u/60539217?u=8db56b20d718cf025e6bb670b87a4e4c3d089d8c&v=4"
        },
        {
          "type": "User",
          "login": "lukasIO",
          "commits": 41,
          "avatar_url": "https://avatars.githubusercontent.com/u/12997837?u=027dd0a6d99089cdc8659260028b9a490ac64352&v=4"
        },
        {
          "type": "User",
          "login": "bcherry",
          "commits": 37,
          "avatar_url": "https://avatars.githubusercontent.com/u/82608?u=5d4d9d575b3600a3e7a587a3c00a18113f888b67&v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.306
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "auto-assign.yml",
        "build.yml",
        "ci.yml",
        "deploy-examples.yml",
        "download-stats.yml",
        "evals.yml",
        "publish-docs.yml",
        "publish.yml",
        "release-gate.yml",
        "test-realtime.yml",
        "test-stt.yml",
        "tests.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "uv.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 4,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 11 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 3,
            "reason": "dependency not pinned by hash detected -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 8,
            "reason": "SAST tool is not run on all commits -- score normalized to 8",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 6,
            "reason": "4 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "e731eac7c2f2e6d94c5d473bfd66637881027647",
        "ran_at": "2026-07-18T04:20:51Z",
        "aggregate_score": 6.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/livekit/agents",
    "host": "github.com",
    "name": "agents",
    "owner": "livekit"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 83,
      "inputs": {
        "security": 67,
        "vitality": 100,
        "community": 91,
        "governance": 84,
        "engineering": 71
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 100,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "commits_last_year": 1634,
              "human_commit_share": null,
              "days_since_last_push": 0,
              "active_weeks_last_year": 52
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "52/52 weeks with commits",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 52
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1634 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1634
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "livekit-agents@1.6.5",
              "releases_from_tags": false,
              "days_since_latest_release": 8,
              "mean_days_between_releases": 5.5
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 8 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 8
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~5.5 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 5.5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "no_commit_sample",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 91,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "forks": 3348,
              "stars": 11411,
              "watchers": 98,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "11,411 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 11411
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "3,348 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 3348
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "98 watchers",
                "points": 11,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 98
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 84,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "bus_factor": 3,
              "contributors_sampled": 100,
              "top_contributor_share": 0.306
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "3 contributor(s) cover half of all commits",
                "points": 36,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 31% of commits",
                "points": 15.6,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 31
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 11 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 88,
            "inputs": {
              "merged_prs": 3258,
              "open_issues": 218,
              "closed_issues": 1769,
              "issue_closed_ratio": 0.89,
              "closed_unmerged_prs": 731
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "89% of issues closed",
                "points": 41.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 89
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "3258/3989 decided PRs merged",
                "points": 31.2,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 3258,
                      "decided": 3989
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 3221,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "livekit",
              "public_repos": 109,
              "account_age_days": 2168
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "3,221 followers of livekit",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 3221,
                      "login": "livekit"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "109 public repos, account ~5 yr old",
                "points": 24.9,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 109
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 5
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "livekit-agents"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 0
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 0 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "210 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 210
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 71,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "12 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [
                "ai",
                "real-time",
                "voice",
                "video",
                "agents",
                "openai"
              ],
              "has_wiki": true,
              "homepage": "https://docs.livekit.io/agents",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://docs.livekit.io/agents",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "6 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 67,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 67,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 6.7
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 11 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 8",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "4 existing vulnerabilities detected",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 4
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 72,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "good",
            "name": "Agent context & guidance",
            "note": "Excluded from scoring (no data or not applicable): Legible commit history. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "legible_commit_history"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 75,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": null,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 5996
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): Demonstrated agent practice, Automated maintenance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "demonstrated_agent_practice",
                    "automated_maintenance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 78,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "uv.lock"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "makefile",
                "tests/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "livekit-agents/livekit/agents/py.typed",
                "livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed",
                "livekit-plugins/livekit-durable/livekit/durable/py.typed",
                "livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed",
                "livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed",
                "livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed",
                "livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed",
                "livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed",
                "livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed",
                "livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed",
                "livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed",
                "livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed",
                "livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed",
                "livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed",
                "livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed",
                "livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed",
                "livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed",
                "livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed",
                "livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed",
                "livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed",
                "livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed",
                "livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed",
                "livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed",
                "livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed",
                "livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed",
                "livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed",
                "livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed",
                "livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed",
                "livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed",
                "livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed",
                "livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed",
                "livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed",
                "livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed",
                "livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed",
                "livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed",
                "livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed",
                "livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed",
                "livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed",
                "livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed",
                "livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed",
                "livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed",
                "livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed",
                "livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed",
                "livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed",
                "livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed",
                "livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed",
                "livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed",
                "livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed",
                "livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed",
                "livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed",
                "livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed",
                "livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed",
                "livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed",
                "livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed",
                "livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed",
                "livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed",
                "livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed",
                "livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed",
                "livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed",
                "livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed",
                "livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed",
                "livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed",
                "livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed",
                "livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed",
                "livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed",
                "livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed",
                "livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed",
                "livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed",
                "livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed",
                "livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed",
                "livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed"
              ],
              "agent_commit_share": null,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": null
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "makefile, tests/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "makefile, tests/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "livekit-agents/livekit/agents/py.typed, livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed, livekit-plugins/livekit-durable/livekit/durable/py.typed, livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed, livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed, livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed, livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed, livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed, livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed, livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed, livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed, livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed, livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed, livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed, livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed, livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed, livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed, livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed, livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed, livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed, livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed, livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed, livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed, livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed, livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed, livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed, livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed, livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed, livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed, livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed, livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed, livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed, livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed, livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed, livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed, livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed, livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed, livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed, livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed, livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed, livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed, livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed, livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed, livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed, livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed, livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed, livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed, livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed, livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed, livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed, livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed, livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed, livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed, livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed, livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed, livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed, livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed, livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed, livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed, livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed, livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed, livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed, livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed, livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed, livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed, livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed, livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed, livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed, livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed, livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed, livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "livekit-agents/livekit/agents/py.typed, livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed, livekit-plugins/livekit-durable/livekit/durable/py.typed, livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed, livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed, livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed, livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed, livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed, livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed, livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed, livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed, livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed, livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed, livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed, livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed, livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed, livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed, livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed, livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed, livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed, livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed, livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed, livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed, livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed, livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed, livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed, livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed, livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed, livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed, livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed, livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed, livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed, livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed, livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed, livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed, livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed, livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed, livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed, livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed, livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed, livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed, livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed, livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed, livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed, livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed, livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed, livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed, livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed, livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed, livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed, livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed, livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed, livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed, livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed, livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed, livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed, livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed, livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed, livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed, livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed, livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed, livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed, livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed, livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed, livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed, livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed, livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed, livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed, livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed, livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed, livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 188082,
              "source_files_sampled": 862,
              "oversized_source_files": 13
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (livekit-agents/livekit/agents/py.typed, livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed, livekit-plugins/livekit-durable/livekit/durable/py.typed, livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed, livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed, livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed, livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed, livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed, livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed, livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed, livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed, livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed, livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed, livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed, livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed, livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed, livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed, livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed, livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed, livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed, livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed, livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed, livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed, livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed, livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed, livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed, livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed, livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed, livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed, livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed, livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed, livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed, livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed, livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed, livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed, livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed, livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed, livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed, livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed, livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed, livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed, livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed, livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed, livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed, livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed, livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed, livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed, livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed, livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed, livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed, livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed, livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed, livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed, livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed, livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed, livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed, livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed, livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed, livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed, livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed, livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed, livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed, livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed, livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed, livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed, livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed, livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed, livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed, livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed, livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed, livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "livekit-agents/livekit/agents/py.typed, livekit-plugins/livekit-blockguard/livekit/blockguard/py.typed, livekit-plugins/livekit-durable/livekit/durable/py.typed, livekit-plugins/livekit-plugins-anam/livekit/plugins/anam/py.typed, livekit-plugins/livekit-plugins-anthropic/livekit/plugins/anthropic/py.typed, livekit-plugins/livekit-plugins-assemblyai/livekit/plugins/assemblyai/py.typed, livekit-plugins/livekit-plugins-asyncai/livekit/plugins/asyncai/py.typed, livekit-plugins/livekit-plugins-avatario/livekit/plugins/avatario/py.typed, livekit-plugins/livekit-plugins-avatartalk/livekit/plugins/avatartalk/py.typed, livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/py.typed, livekit-plugins/livekit-plugins-azure/livekit/plugins/azure/py.typed, livekit-plugins/livekit-plugins-baseten/livekit/plugins/baseten/py.typed, livekit-plugins/livekit-plugins-bey/livekit/plugins/bey/py.typed, livekit-plugins/livekit-plugins-bithuman/livekit/plugins/bithuman/py.typed, livekit-plugins/livekit-plugins-cambai/livekit/plugins/cambai/py.typed, livekit-plugins/livekit-plugins-cartesia/livekit/plugins/cartesia/py.typed, livekit-plugins/livekit-plugins-cerebras/livekit/plugins/cerebras/py.typed, livekit-plugins/livekit-plugins-clova/livekit/plugins/clova/py.typed, livekit-plugins/livekit-plugins-deepgram/livekit/plugins/deepgram/py.typed, livekit-plugins/livekit-plugins-did/livekit/plugins/did/py.typed, livekit-plugins/livekit-plugins-elevenlabs/livekit/plugins/elevenlabs/py.typed, livekit-plugins/livekit-plugins-fal/livekit/plugins/fal/py.typed, livekit-plugins/livekit-plugins-fireworksai/livekit/plugins/fireworksai/py.typed, livekit-plugins/livekit-plugins-fishaudio/livekit/plugins/fishaudio/py.typed, livekit-plugins/livekit-plugins-gladia/livekit/plugins/gladia/py.typed, livekit-plugins/livekit-plugins-gnani/livekit/plugins/gnani/py.typed, livekit-plugins/livekit-plugins-google/livekit/plugins/google/py.typed, livekit-plugins/livekit-plugins-gradium/livekit/plugins/gradium/py.typed, livekit-plugins/livekit-plugins-groq/livekit/plugins/groq/py.typed, livekit-plugins/livekit-plugins-hamming/livekit/plugins/hamming/py.typed, livekit-plugins/livekit-plugins-hedra/livekit/plugins/hedra/py.typed, livekit-plugins/livekit-plugins-hume/livekit/plugins/hume/py.typed, livekit-plugins/livekit-plugins-inworld/livekit/plugins/inworld/py.typed, livekit-plugins/livekit-plugins-keyframe/livekit/plugins/keyframe/py.typed, livekit-plugins/livekit-plugins-krisp/livekit/plugins/krisp/py.typed, livekit-plugins/livekit-plugins-langchain/livekit/plugins/langchain/py.typed, livekit-plugins/livekit-plugins-lemonslice/livekit/plugins/lemonslice/py.typed, livekit-plugins/livekit-plugins-liveavatar/livekit/plugins/liveavatar/py.typed, livekit-plugins/livekit-plugins-lmnt/livekit/plugins/lmnt/py.typed, livekit-plugins/livekit-plugins-minimal/livekit/plugins/minimal/py.typed, livekit-plugins/livekit-plugins-minimax/livekit/plugins/minimax/py.typed, livekit-plugins/livekit-plugins-mistralai/livekit/plugins/mistralai/py.typed, livekit-plugins/livekit-plugins-murf/livekit/plugins/murf/py.typed, livekit-plugins/livekit-plugins-neuphonic/livekit/plugins/neuphonic/py.typed, livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/py.typed, livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/py.typed, livekit-plugins/livekit-plugins-perplexity/livekit/plugins/perplexity/py.typed, livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/py.typed, livekit-plugins/livekit-plugins-protoface/livekit/plugins/protoface/py.typed, livekit-plugins/livekit-plugins-resemble/livekit/plugins/resemble/py.typed, livekit-plugins/livekit-plugins-respeecher/livekit/plugins/respeecher/py.typed, livekit-plugins/livekit-plugins-rime/livekit/plugins/rime/py.typed, livekit-plugins/livekit-plugins-rtzr/livekit/plugins/rtzr/py.typed, livekit-plugins/livekit-plugins-runway/livekit/plugins/runway/py.typed, livekit-plugins/livekit-plugins-sarvam/livekit/plugins/sarvam/py.typed, livekit-plugins/livekit-plugins-silero/livekit/plugins/silero/py.typed, livekit-plugins/livekit-plugins-simli/livekit/plugins/simli/py.typed, livekit-plugins/livekit-plugins-simplismart/livekit/plugins/simplismart/py.typed, livekit-plugins/livekit-plugins-slng/livekit/plugins/slng/py.typed, livekit-plugins/livekit-plugins-smallestai/livekit/plugins/smallestai/py.typed, livekit-plugins/livekit-plugins-soniox/livekit/plugins/soniox/py.typed, livekit-plugins/livekit-plugins-speechify/livekit/plugins/speechify/py.typed, livekit-plugins/livekit-plugins-speechmatics/livekit/plugins/speechmatics/py.typed, livekit-plugins/livekit-plugins-spitch/livekit/plugins/spitch/py.typed, livekit-plugins/livekit-plugins-tavus/livekit/plugins/tavus/py.typed, livekit-plugins/livekit-plugins-telnyx/livekit/plugins/telnyx/py.typed, livekit-plugins/livekit-plugins-trugen/livekit/plugins/trugen/py.typed, livekit-plugins/livekit-plugins-turn-detector/livekit/plugins/turn_detector/py.typed, livekit-plugins/livekit-plugins-ultravox/livekit/plugins/ultravox/py.typed, livekit-plugins/livekit-plugins-upliftai/livekit/plugins/upliftai/py.typed, livekit-plugins/livekit-plugins-xai/livekit/plugins/xai/py.typed",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "13/862 source files over 60KB",
                "points": 54.2,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 862,
                      "oversized": 13
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [],
  "report_type": "repository",
  "generated_at": "2026-07-18T04:21:36.018278Z",
  "schema_version": "0.12.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/livekit/agents.svg",
  "full_name": "livekit/agents",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.12.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasPyPI.