Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

pydantic-ai-slim is declared `>=0.0.14` with no upper bound; the floor lacks the API darnit uses

Open Beginner friendly
#489 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
70/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
backend

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

good first issue infrastructure module-core

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=...) and RunResult.output: llm_step.py#L97-L99, #L139
  • uv.lock resolves 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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from darnitdevorg/darnit

All issues in darnitdevorg/darnit

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.