You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: restore Python 3.9/3.10 support broken in the v0.7.0 CI matrix
Two independent failures, both confirmed against the tests workflow on
246ec5c (Rust tests green, 3.9 and 3.10 red):
* 3.9 - `flush_usage` used a bare PEP 604 `str | None` in its signature.
Annotations are evaluated at definition time, and `type.__or__` only
exists from 3.10, so importing the package raised
`TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'`
at __init__.py:175. Quote the annotation so it is never evaluated;
`_Optional` is not imported until line 499. FA102 is removed from the
ruff ignore list so this cannot regress silently again - it is a
correctness guard for `requires-python = ">=3.9"`, not a style rule.
* 3.10 - three packaging tests imported `tomllib` unconditionally, which
only entered the stdlib in 3.11, so the 3.9/3.10 legs died at
collection. Fall back to `tomli` the same way test_api_compat.py
already does, and declare `tomli` for python_version < 3.11 so the
tests actually run on those legs instead of erroring or skipping.
Both were latent: earlier runs failed at the build or lint step and
never reached them.
0 commit comments