typing-extensions>=4.12.0 is below what pydantic requires on 3.13+ (>=4.12.2), so pinning 4.12.0 drags pydantic back to a build whose pydantic-core has no cp314 wheel, and the install fails:
Failed to build `pydantic-core==2.18.4`
3.11 is fine; 3.14 is not.
This is the same defect fixed in faststream-outbox in modern-python/faststream-outbox#185 — that repo was audited first and this one carries the identical declaration.
Nothing reports it: every gate resolves highest, so the bottom of the range is never exercised.
Reproduce
uv venv --python 3.14 .venv-lowest
VIRTUAL_ENV=.venv-lowest uv pip install --resolution lowest-direct .
Fix
typing-extensions>=4.12.2, as in modern-python/faststream-outbox#185.
Worth checking the rest of this package's floors in the same pass. faststream-outbox turned out to have six wrong floors, and each fix only exposed the next — a resolver stops at the first wall, so the first green run was several rounds in. See modern-python/faststream-outbox#185, modern-python/faststream-outbox#186 and modern-python/faststream-outbox#187.
Found by a lower-bound audit across the org, prompted by modern-python/.github#107. That issue proposes a CI job that would catch this class of defect standing; right now every gate resolves highest, so no floor is ever exercised.
13 of 23 repos audited had at least one broken floor. faststream-outbox had six and is now green at the lower bound on every supported interpreter.
typing-extensions>=4.12.0is below what pydantic requires on 3.13+ (>=4.12.2), so pinning 4.12.0 drags pydantic back to a build whosepydantic-corehas no cp314 wheel, and the install fails:3.11 is fine; 3.14 is not.
This is the same defect fixed in
faststream-outboxin modern-python/faststream-outbox#185 — that repo was audited first and this one carries the identical declaration.Nothing reports it: every gate resolves highest, so the bottom of the range is never exercised.
Reproduce
uv venv --python 3.14 .venv-lowest VIRTUAL_ENV=.venv-lowest uv pip install --resolution lowest-direct .Fix
typing-extensions>=4.12.2, as in modern-python/faststream-outbox#185.Worth checking the rest of this package's floors in the same pass.
faststream-outboxturned out to have six wrong floors, and each fix only exposed the next — a resolver stops at the first wall, so the first green run was several rounds in. See modern-python/faststream-outbox#185, modern-python/faststream-outbox#186 and modern-python/faststream-outbox#187.Found by a lower-bound audit across the org, prompted by modern-python/.github#107. That issue proposes a CI job that would catch this class of defect standing; right now every gate resolves highest, so no floor is ever exercised.
13 of 23 repos audited had at least one broken floor.
faststream-outboxhad six and is now green at the lower bound on every supported interpreter.