Skip to content

chore: pin local development to Python 3.12 to match CI - #998

Merged
kvlonge merged 1 commit into
mainfrom
chore/pin-dev-python
Oct 7, 2026
Merged

kvlonge merged 1 commit into
mainfrom
chore/pin-dev-python

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Why

CI runs the unit, integration and E2E suites on Python 3.12, the minimum supported version, but uv sync in a fresh checkout picks the newest installed interpreter. Local runs on a newer Python have missed 3.12-only failures: a runtime-evaluated annotation that only works from 3.13, and a version-specific argparse message. They also skip the native discovery path, which only activates on Python 3.12's Unicode version.

Changes

  • Add .python-version with 3.12, so uv sync, uv run and make targets use the same interpreter as CI by default. Developers can still pick another version explicitly.

Verification

  • uv sync --all-extras in a fresh worktree creates a 3.12 environment.
  • make check-ci and make test pass on it.

@kvlonge
kvlonge enabled auto-merge (squash) October 7, 2026 06:23
@kvlonge
kvlonge merged commit 3bd7128 into main Oct 7, 2026
22 checks passed
@kvlonge
kvlonge deleted the chore/pin-dev-python branch October 7, 2026 06:57
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