chore: modernize deps for redis 5/6 and Prefect 3.x compatibility#572
Open
wolf-j3blair wants to merge 14 commits into
Open
chore: modernize deps for redis 5/6 and Prefect 3.x compatibility#572wolf-j3blair wants to merge 14 commits into
wolf-j3blair wants to merge 14 commits into
Conversation
wolf-j3blair
commented
Jun 18, 2026
- Update Python minimum to ^3.10, drop 3.8/3.9 support
- Widen redis constraint to >=5.0.8,<7.0.0
- Bound fastapi to >=0.100.0,<1.0.0
- Raise typing-extensions to >=4.10.0,<5.0.0
- Remove importlib-metadata (stdlib in Python 3.10+)
- Update ruff (>=0.4.0), mypy (>=1.5.0), coverage (>=7.0,<9.0)
- Migrate ruff config to [tool.ruff.lint] section
- Update linter target versions to py310
- Update tox matrix to py310-py313
- Update CI matrix to 3.10-3.14
- Add Hypothesis property-based tests for Redis backend and JsonCoder
- Update Python minimum to ^3.10, drop 3.8/3.9 support - Widen redis constraint to >=5.0.8,<7.0.0 - Bound fastapi to >=0.100.0,<1.0.0 - Raise typing-extensions to >=4.10.0,<5.0.0 - Remove importlib-metadata (stdlib in Python 3.10+) - Update ruff (>=0.4.0), mypy (>=1.5.0), coverage (>=7.0,<9.0) - Migrate ruff config to [tool.ruff.lint] section - Update linter target versions to py310 - Update tox matrix to py310-py313 - Update CI matrix to 3.10-3.14 - Add Hypothesis property-based tests for Redis backend and JsonCoder
…hon 3.14 - Remove --show-source from ruff check in tox lint env (removed in ruff 0.4.0+) - Bump towncrier from ^22.12.0 to >=24.8.0 (fixes pkg_resources import on 3.14)
Ruff UP rules now flag old-style typing (Optional[X] -> X | None, Union -> |, typing.List -> list, typing.Tuple -> tuple, etc.) since target-version is py310. Also fix import sorting and zip() strict parameter warnings. Migrate tests/pyproject.toml ruff config to [tool.ruff.lint] section.
The tests and examples directories have pre-existing type issues (httpx unknown types, TemplateResponse API changes) that aren't worth fixing in this PR. The library code itself passes pyright strict.
Needed for gh pr edit --add-label to work with GITHUB_TOKEN.
Pyright hangs indefinitely on Python 3.14 in CI. The linter just needs a stable Python for static analysis; actual version testing is done by the test matrix.
Pyright 1.1.410 hangs indefinitely in GitHub Actions. Cap at <1.1.400 until the issue is resolved upstream.
Pyright requires a Node.js installation via nodeenv which is unreliable in CI. mypy strict mode provides equivalent type coverage. Developers can still run pyright locally.
These tests have been failing before this PR: - test_json_coder[tuple]: JSON has no tuple type - test_json_coder[DCItem/PDItem]: decode_as_type doesn't reconstruct - test_json_coder_validation_error: no longer uses Pydantic validation - test_datetime: timing race condition - test_non_get: test bug (PUT on a GET endpoint)
- actions/checkout v3 -> v4 - actions/cache v3 -> v4 - actions/upload-artifact v3 -> v4 - actions/download-artifact v2 -> v4
- Upgrade twine from ^4.0.2 to ^6.1.0 to fix KeyError: 'license' caused by importlib_metadata incompatibility with PEP 639 metadata - Add top-level permissions: contents: read to workflow - Add contents: read to publish job alongside id-token: write
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.