Latest Results
chore: drop Python 3.9 support (#424)
* chore: drop Python 3.9 support
- Bump requires-python from >=3.9 to >=3.10
- Remove Python 3.9 trove classifier
- Remove Python 3.9 from CI install test matrix
- Update contributing guide prerequisite to Python 3.10+
Closes #423
* chore: set mypy python_version to 3.10
Match mypy's type-checking target to the new minimum supported
Python version after dropping 3.9 support.
* chore: modernize type annotations with PEP 604/585
- Replace Optional[X] with X | None (PEP 604, native in 3.10)
- Replace List[X], Dict[K,V], Tuple[...], Type[X] with
list[X], dict[K,V], tuple[...], type[X] (PEP 585, native in 3.9)
- Add from __future__ import annotations for forward-reference safety
- Use collections.abc.Callable instead of typing.Callable
- Keep typing.Any (no native replacement)
All 217 tests pass.
* chore: sync uv.lock with >=3.10 requires-python, tighten return types
- Regenerate uv.lock (requires-python >=3.10, drop all <3.10 markers)
- Restore tomli conditional marker (python_version < '3.11')
- Add py.typed marker (PEP 561) for downstream type checkers
- Tighten CheckOutcome.to_dict() return type to dict[str, str]
- Tighten validate_config() return type to dict[str, Any] Latest Branches
-25%
fix/path-traversal-vulnerability 0%
dependabot/github_actions/github-actions-c4d52eb9c7 0%
© 2026 CodSpeed Technology