Skip to content

fix(deps): raise the modern-di floor - #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

The issue blamed arq>=0.25. It is not arq — pinning modern-di to current makes the suite pass with arq still at its floor.

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

assert True is False
 +  where True = Container(scope=REQUEST, parent=APP, providers=2, cached=0).closed

The floor

3.1.0, bisected against the suite within the declared >=3,<4 range. A bisect over the full version list is misleading here — 2.28.0 also passes, so the search is not monotonic across the major boundary and only the declared range is meaningful.

arq>=0.25 is left alone; it was never the problem.

Verification

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

The declared >=3 resolves to 3.0.0, where the container is already closed
when the worker resolves from it. Bisected against the suite: 3.1.0 is the
first release the integration works with. arq's own >=0.25 floor is fine.

Closes #28
@lesnik512
lesnik512 merged commit 039d837 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 arq floor installs but fails the suite

1 participant