Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ci: unit tests pin Python 3.12 while the package advertises 3.14 support

Abierto Apto para principiantes
#8,231 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
74/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
github-actions, python
Área
ci-cd

Línea de trabajo

Lee .github/workflows/tests.yml y livekit-agents/pyproject.toml para comparar las versiones de Python probadas con requires-python. Comprueba si las dependencias del proyecto y las pruebas unitarias son compatibles con Python 3.14; luego, actualiza la cobertura de las pruebas unitarias o limita el rango anunciado, según decidan los maintainers. El trabajo estará terminado cuando el rango de Python admitido y la cobertura de las pruebas en tiempo de ejecución coincidan, y se explique cualquier excepción.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

What

livekit-agents/pyproject.toml advertises requires-python = ">=3.10,<3.15", so 3.14 is a supported interpreter, but no runtime job ever runs on it:

  • .github/workflows/tests.yml pins python-version: "3.12" in all three jobs — blockguard-tests (L32), unit-tests (L56), evaluation (L83);
  • .github/workflows/ci.yml varies the interpreter only for mypy (["3.10", "3.13"]).

So the runtime test suite only ever sees 3.12. A break that is specific to 3.13/3.14 is green by construction.

Evidence that this is not theoretical

#8162 fixed exactly that class: ndarray.resize() rejects an array that is still referenced, and on 3.14 it also rejects one only held by an attribute, so VAD.update_options raised ValueError for users on that interpreter while unit-tests stayed green. The change now copies into a new array instead.

The CI gap is what let it ship — the fix is fine, the matrix is the problem. The same shape will recur for anything that depends on interpreter behaviour rather than our own logic.

Proposal

Cheapest option first, in order of preference:

  1. One 3.14 leg on unit-tests only (matrix entry or a second job), not the whole matrix — the job count stays flat and the interpreter-sensitive code paths are covered.
  2. If some dependency does not support 3.14 yet, narrow the promise instead: requires-python = ">=3.10,<3.14" plus a note, so the advertised range matches what CI actually proves.

Either way the rule worth stating is that the advertised requires-python range and the tested interpreters should not disagree without a comment saying why.

Happy to send the workflow change (option 1) if that is the direction — I did not want to add a CI job in someone else's bug-fix PR.

Lenguaje dominante
Python
Estrellas
14.6k
Forks
3.9k
Merge medio
2 d 7 h
PR fusionados (30 d)
228

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de livekit/agents

Todos los issues de livekit/agents

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.