Skip to content

fix(deps): declare pydantic's floor for 3.14 - #29

Merged
lesnik512 merged 1 commit into
mainfrom
fix/dependency-floors
Sep 20, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
fix/dependency-floors

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Closes #28.

The bug

aiogram>=3.2,<4 resolves to 3.2, which pins an old pydantic whose pydantic-core ships no cp314 wheel, so the install fails on 3.14:

Failed to build `pydantic-core==2.14.6`

The fix

pydantic>=2.12; python_version >= '3.14', declared directly rather than reached sideways by raising the aiogram floor. pydantic is not imported here, but it is the actual constraint, and naming it keeps the aiogram range honest — the same shape lite-bootstrap and faststream-outbox already use.

Verification

uv pip install --resolution lowest-direct . then the full suite: 27 passed on 3.10 and 3.14. Lint clean. Normal resolution: 27 passed.

Nothing changes at the top of the range, so this is inert for anyone not installing at the lower bound.

Found by the org-wide lower-bound audit in modern-python/.github#107.

aiogram pulls pydantic transitively, and pydantic-core ships no cp314 wheel
before pydantic 2.12, so the lowest declared combination had no installable
pydantic on 3.14. Declared directly rather than reached sideways by raising
aiogram, which names the actual constraint.

Closes #28
@lesnik512
lesnik512 merged commit d24380f into main Sep 20, 2026
8 checks passed
@lesnik512
lesnik512 deleted the fix/dependency-floors branch September 20, 2026 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The aiogram floor does not install on Python 3.14

1 participant