ci: unit tests pin Python 3.12 while the package advertises 3.14 support
维护者通常 1 天内回复
@huong8373tt-beep 已经在做这个了。
开始于 2026年10月29日。
评估
调研方向
阅读 .github/workflows/tests.yml 和 livekit-agents/pyproject.toml,比较已测试的 Python 版本与 requires-python。检查项目依赖项和单元测试是否支持 Python 3.14,然后根据维护者的决定更新单元测试覆盖范围或缩小声明的版本范围。完成标准是:受支持的 Python 版本范围与运行时测试覆盖范围一致,并对任何例外作出说明。
由索引模型根据 Issue 内容生成。
描述
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.ymlpinspython-version: "3.12"in all three jobs —blockguard-tests(L32),unit-tests(L56),evaluation(L83);.github/workflows/ci.ymlvaries 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:
- One 3.14 leg on
unit-testsonly (matrix entry or a second job), not the whole matrix — the job count stays flat and the interpreter-sensitive code paths are covered. - 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.
- 主要语言
- Python
- 星标
- 14.6k
- 派生
- 3.9k
- 平均合并
- 2 天 6 小时
- 30 天内合并 PR
- 227
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
livekit/agents 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 78/100
维护者通常 1 天内回复
-
mistralai: expose reasoning_effort on the LLM可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭enhancement
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
Assistant markup is stripped from chat history when expressive mode is off可能已有人在做 @ShivamSharma43 于 22 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
docs: openai.LLM vs openai.responses.LLM for HTTP OpenAI-compat hosts可能重新可做 @AbarnaaSree 于 62 天前认领,目前没有进行中的 PR。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
IGNORE_ON_ENTER tools (e.g. end_call) stay hidden for the whole call after on_enter awaits an AgentTask可能已有人在做 @BhaskarKapri07 今天认领。 未关闭
难度 4/5 3-5 天 新手友好度 25/100
维护者通常 1 天内回复
相似的 Issue
-
infrastructure
难度 2/5 1-3 小时 新手友好度 76/100
NatLabRockies/H2Integrate#977 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
topoteretes/cognee#6470 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
-
area:docs priority:p2 type:docs wave:9
难度 1/5 1 小时以内 新手友好度 84/100
jejjohnson/radtrax#293 ·
维护者通常 1 天内回复
-
bug core plugins
难度 2/5 1-3 小时 新手友好度 68/100
bunkerity/bunkerweb#4121 · 1 条评论 ·
维护者通常 1 天内回复