Skip to content

fix(deps): mark the grpcio floor and raise modern-di's - #27

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 #26.

Two floors

grpcio. >=1.48,<2 resolves to 1.48.1, which ships no cp314 wheel, so on 3.14 the resolver falls through to an sdist that cannot build. 1.75.1 is the first release with a cp314 wheel. Marked rather than raised, since 1.48 is fine below 3.14.

modern-di. >=3 resolves to 3.0.0, where the container is already closed when the servicer resolves from it:

Container (scope APP) is not open — enter it with `with`/`async with` or call `open()`

3.1.0 is the first release that works, bisected within the declared >=3,<4 range.

A correction to the issue

The issue said the grpcio floor fails on 3.10 as well as 3.14. That was an artifact of the audit machine: grpcio 1.48.1 has no macOS arm64 wheel but does ship cp310 wheels for Linux, which is what CI runs. The 3.10 claim does not hold there, so the floor is left at 1.48 below 3.14. Verified locally at grpcio 1.53.2 (the oldest this machine can install) that the API is fine on 3.10; CI will exercise 1.48.1 itself.

Verification

uv pip install --resolution lowest-direct . then the full suite: 37 passed on 3.14, and on 3.10 at grpcio 1.53.2. Lint clean. Normal resolution: 37 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.

grpcio ships no cp314 wheel before 1.75.1, so the declared floor resolved to
an sdist that cannot build on 3.14. Marked rather than raised, since 1.48 is
fine below that.

modern-di >=3 resolves to 3.0.0, where the container is already closed when
the servicer resolves from it; 3.1.0 is the first release that works.

Closes #26
@lesnik512
lesnik512 merged commit b091642 into main Sep 20, 2026
7 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 grpcio floor does not install on any supported Python

1 participant