pydantic-ai-slim is declared `>=0.0.14` with no upper bound; the floor lacks the API darnit uses
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 70/100
Research direction
Start with the dependency declaration at packages/darnit/pyproject.toml#L41 and compare it with the output_type and RunResult.output usage in packages/darnit/src/darnit/core/llm_step.py; check uv.lock and identify which version CI exercises. Done means the declared range excludes versions lacking the required API and future major versions, with the lockfile consistent with that range.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- Python
- Stars
- 22
- Forks
- 27
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 35
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from darnitdevorg/darnit
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
darnitdevorg/darnit#587 ·
Maintainers usually reply within 1 day
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
darnitdevorg/darnit#585 ·
Maintainers usually reply within 1 day
-
quality
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
darnitdevorg/darnit#523 ·
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
darnitdevorg/darnit#516 ·
Maintainers usually reply within 1 day
-
good first issue module-core
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
darnitdevorg/darnit#506 ·
Maintainers usually reply within 1 day
All issues in darnitdevorg/darnit
Similar issues
-
Difficulty 1/5 1-3 hours Newbie friendliness 87/100
adri0/scadustats#128 ·
Maintainers usually reply within 1 day
-
`TIMESTAMP`, `TIMESTAMP_NTZ`, `TINYINT` and the other `TypeDecorator`s don't declare `python_type`Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
RPBCOpenawaiting policy acceptance precheck-passed
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Bioconductor/BiocContributions#240 · 1 comment ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
documentation good first issue launch
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
FlologixAI/etchwork#4 ·