pydantic-ai-slim is declared `>=0.0.14` with no upper bound; the floor lacks the API darnit uses
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
从 packages/darnit/pyproject.toml#L41 中的依赖声明开始,并将其与 packages/darnit/src/darnit/core/llm_step.py 中 output_type 和 RunResult.output 的用法进行比较;检查 uv.lock 并确定 CI 使用的版本。完成标准是:声明的版本范围排除缺少所需 API 的版本以及未来的主版本,并且锁定文件与该范围一致。
由索引模型根据 Issue 内容生成。
描述
Summary
darnit-core declares pydantic-ai-slim[anthropic]>=0.0.14. The code needs a much newer version, and nothing stops a future major from being resolved.
Impact
pydantic-ai-slim is a required runtime dependency (RFC-0001 Stage 1 / feature 025) on the LLM path that produces suggestive results. A resolver that honors the floor, or a downstream environment that already pins an older version, gets a darnit that fails at the first LLM consultation. Without an upper bound, the next major installs automatically into fresh pip/pipx/uvx environments.
Evidence
- Declaration: packages/darnit/pyproject.toml#L41
- Usage requires
Agent(output_type=...)andRunResult.output: llm_step.py#L97-L99, #L139 uv.lockresolves 2.24.0. PyPI latest as of 2026-09-25 is 2.51.0.- Major history from PyPI: 1.0.0 on 2025-09-05, 2.0.0 on 2026-06-23. The project releases several minors per week.
Reproduction
Check whether each wheel's pydantic_ai/agent* modules mention output_type:
for v in 0.0.14 0.1.0; do
curl -s https://pypi.org/pypi/pydantic-ai-slim/$v/json | python3 -c \
"import json,sys;print([u['url'] for u in json.load(sys.stdin)['urls'] if u['filename'].endswith('.whl')][0])" \
| xargs curl -sL -o p$v.whl
echo "$v: $(unzip -p p$v.whl 'pydantic_ai/agent*' | grep -c output_type)"
done
Actual: 0.0.14: 0, 0.1.0: 58. The declared floor predates the output_type API. Also, uv run --no-project --with "pydantic-ai-slim[anthropic]==0.0.14" python -c "import pydantic_ai" fails with ModuleNotFoundError: No module named '_griffe' against current transitive dependencies, so the floor is not installable as-is either.
Suggested direction
Pin to the tested major, for example pydantic-ai-slim[anthropic]>=2.24,<3. Raise the floor to the lowest version CI actually exercises (optionally add a --resolution lowest-direct job). Bump the cap deliberately when 3.x ships. This follows the reasoning of #204, which bounded mcp, cryptography, and urllib3 but predates this dependency.
- 主要语言
- Python
- 星标
- 22
- 派生
- 27
- 平均合并
- 2 天 2 小时
- 30 天内合并 PR
- 50
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
darnitdevorg/darnit 的其他 Issue
-
Project-data question labels: "Compiled Ass" header and a Yes option that says to choose No可能已有人在做 @khush2429 于 1 天前认领。 未关闭good first issue module-baseline needs triage ux
难度 2/5 1-3 小时 新手友好度 82/100
darnitdevorg/darnit#650 · 1 条评论 ·
维护者通常 1 天内回复
-
module-core needs triage ux
难度 2/5 1-3 小时 新手友好度 72/100
darnitdevorg/darnit#648 ·
维护者通常 1 天内回复
-
ci needs triage
难度 2/5 1-3 小时 新手友好度 62/100
darnitdevorg/darnit#607 ·
维护者通常 1 天内回复
-
dependencies module-baseline needs triage
难度 2/5 1-3 小时 新手友好度 68/100
darnitdevorg/darnit#606 ·
维护者通常 1 天内回复
-
A test starts real Sigstore signing (interactive OIDC login) when the attestation extra is installed可能已有人在做 @mlieberman85 于 5 天前认领。 未关闭module-baseline needs triage testing
难度 2/5 1-3 小时 新手友好度 65/100
darnitdevorg/darnit#604 ·
维护者通常 1 天内回复
查看 darnitdevorg/darnit 的全部 Issue
相似的 Issue
-
bug
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
documentation
难度 2/5 1-3 小时 新手友好度 84/100
sergey-miryanov/gcmon#230 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
Azure-Samples/azure-search-openai-demo#3249 ·
维护者通常 1 天内回复
-
[BUG] Failed archive extraction deletes the dataset cache可能已有人在做 @dajiaohuang 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
alibaba/GraphScope#4674 ·