Repository navigation
chore(python): test on 3.12 through 3.14; floor moves to 3.12 - #256
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
requires-python3.11 → 3.12; the 3.11 classifier dropped and 3.14 added; basedpyright'spythonVersionnow the floor (3.12) so the typecheck is against what we promise, not what we develop on.test.ymlruns the whole job (pytest, ruff, basedpyright, GraphQL codegen drift gate) undermatrix.python-version: ['3.12', '3.13', '3.14'],fail-fast: false. The checks are now namedtest (3.12),test (3.13),test (3.14); the Main Branch ruleset's required check moves fromtestto those three, as the TypeScript client's does fortest (22)/test (24).create-release.ymlbuilds 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 --checkandbasedpyrightclean 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