Skip to content

Extend Python support through 3.14 and test it in CI - #59

Open
andy778 wants to merge 1 commit into
AI-Riksarkivet:mainfrom
andy778:python-versions-upstream
Open

andy778 wants to merge 1 commit into
AI-Riksarkivet:mainfrom
andy778:python-versions-upstream

Conversation

@andy778

@andy778 andy778 commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Description

Python support extended to 3.14 (was capped <3.14). CI now tests 3.10/3.12/3.14 instead of just 3.10. Also fixed uv sync to pin --python explicitly so each matrix job actually tests its own version. 3.10 is soon EOL and should be removed soon
https://www.python.org/downloads/

Checklist

  • I have performed a self-review of my code locally.
  • I have run ruff format to format my code.
  • My code passes ruff check.
  • If it is a core feature, I have added thorough tests.
  • Documentation has been updated or the changes are too minor to be documented.

requires-python capped compatibility at <3.14 and classifiers only
listed 3.10, but CI only ever exercised 3.10 - no signal on whether
newer interpreters actually work. Verified locally before making this
change: the full test suite (unit, not slow/gpu/teklia) passes
unmodified on 3.13, and a fresh dependency resolution + test run also
passes on 3.14 (all heavy deps - torch, transformers, ultralytics -
already ship wheels for it). No source changes were needed.

Raise the cap to <3.15, list 3.11-3.14 in classifiers, and test
3.10/3.12/3.14 in the CI matrix as representative spread instead of
just the floor version.

Also pin uv sync to the matrix Python version explicitly:
uv python install <version> puts that interpreter on the runner, but
uv sync --all-extras --dev had no --python flag, so uv picked
whichever installed interpreter it considers newest/preferred - not
necessarily the one the matrix job asked for. Confirmed locally: with
3.10/3.12/3.13/3.14 all present, a bare `uv sync` resolved to 3.13
even right after `uv python install 3.10`. Harmless while the matrix
only ever ran one version, but now that tests.yml runs 3.10/3.12/3.14
in parallel, every leg could silently end up testing the same
interpreter without this.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant