0006. Support Python 3.10 through the latest release¶
- Status: accepted
- Date: 2026-06-30
- Deciders: P4suta
- Tags: infra
Context¶
The riskiest dependency for Python-version support is MediaPipe (a binding-heavy
package). It would be easy to cap requires-python conservatively, but that locks
out users on the newest interpreters for no real reason.
Decision¶
Set requires-python = ">=3.10" with no upper bound, and test the matrix
3.10–3.14 in CI. This is safe because MediaPipe 0.10.x ships a version-agnostic
mediapipe-<ver>-py3-none-<platform>.whl (one wheel installs on every Python 3),
and numpy / opencv-python / pillow all publish 3.13/3.14 wheels (numpy via cp314,
opencv via abi3). uv resolves a per-interpreter-appropriate numpy.
Consequences¶
- Works on the newest interpreters out of the box; verified on 3.14.
- The real ceiling is whatever MediaPipe's
py3-nonewheel supports, not an arbitrary pin; revisit only if a future MediaPipe drops that wheel form.
Alternatives considered¶
- Cap at
<3.13. Conservative but needless — it was the original guess and empirically wrong; the stack runs on 3.14.
References¶
pyproject.toml,.github/workflows/ci.yml,noxfile.py