Skip to content

chore(python): test on 3.12 through 3.14; floor moves to 3.12 - #256

Merged
jfrench9 merged 1 commit into
mainfrom
chore/python-matrix
Oct 15, 2026
Merged

jfrench9 merged 1 commit into
mainfrom
chore/python-matrix

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Summary

Tests the client on every interpreter it supports, 3.12 through 3.14, in a fail-fast-off matrix like the Node matrix in the TypeScript client, and moves the floor from 3.11 to 3.12 now that robosystems itself runs on 3.14. Python 3.10 reached end of life this month and 3.11 has been security-only since 2024; PyPI's interpreter breakdown for this package shows 3.11 at about an eighth of version-tagged installs, which this PR trades for a floor the scientific stack is converging on.

Changes

  • Packaging — requires-python 3.11 → 3.12; the 3.11 classifier dropped and 3.14 added; basedpyright's pythonVersion now the floor (3.12) so the typecheck is against what we promise, not what we develop on.
  • CI — test.yml runs the whole job (pytest, ruff, basedpyright, GraphQL codegen drift gate) under matrix.python-version: ['3.12', '3.13', '3.14'], fail-fast: false. The checks are now named test (3.12), test (3.13), test (3.14); the Main Branch ruleset's required check moves from test to those three, as the TypeScript client's does for test (22) / test (24).
  • Release build — create-release.yml builds and publishes on 3.14.

No generated code, facade or model changed.

Compatibility

INTERNAL to the emitted surface. Packaging note for the release notes: a consumer on Python 3.11 keeps resolving to 2.14.2 and receives no later release.

Testing

Suite run locally in scratch venvs on 3.12, 3.13 and 3.14 and on the old 3.11 floor: 688 passed, 17 skipped on each. ruff check, ruff format --check and basedpyright clean on the new lock with the 3.12 typecheck target. The codegen drift gate was not run locally; CI runs it on all three legs. No distribution built.

🤖 Generated with Claude Code

CI runs the suite, lint, typecheck and the codegen drift gate on every
supported interpreter instead of 3.13 alone, mirroring the Node matrix
in the TypeScript client. The floor moves from 3.11 to 3.12 and 3.14 is
declared; basedpyright now checks against the floor. The release build
runs on 3.14.
@jfrench9
jfrench9 merged commit 977267d into main Oct 15, 2026
6 checks passed
@jfrench9
jfrench9 deleted the chore/python-matrix branch October 15, 2026 18:45
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