Repository navigation
chore(python): test on 3.12 through 3.14; floor moves to 3.12 - #101
Merged
Merged
Conversation
CI runs the suite, lint and typecheck on every supported interpreter instead of 3.13 alone. The floor moves from 3.10 to 3.12 and 3.14 is declared; basedpyright now checks against the floor. 3.10 reaches end of life this month, and the suite could not even be collected there: tests/test_server_json.py imports tomllib, which exists from 3.11. 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 xbrlkit on every interpreter it supports, 3.12 through 3.14, in a fail-fast-off matrix, and moves the floor from 3.10 to 3.12. Python 3.10 reaches end of life this month, 3.11 has been security-only since 2024, and the single-version CI was hiding that the suite could not be collected on the declared floor at all:
tests/test_server_json.pyimportstomllib, which only exists from 3.11. Users on Homebrew already run this on 3.14; CI now does too.Changes
requires-python3.10 → 3.12; the 3.10 and 3.11 classifiers dropped and 3.14 added; basedpyright'spythonVersionnow the floor (3.12).test.ymlruns the job undermatrix.python-version: ['3.12', '3.13', '3.14'],fail-fast: false. The checks becometest (3.12),test (3.13),test (3.14); the Main Branch ruleset's required check moves fromtestto those three.create-release.ymlbuilds and publishes on 3.14.Nothing under
edgar/,parse/,serialize/,query.pyorcli.pychanged.Output Impact
INTERNAL. Output is identical. Packaging note for the release notes:
uvx xbrlkitusers are unaffected, since uv fetches a matching interpreter; apipuser on 3.10 or 3.11 keeps resolving to 0.21.2 and receives no later release.Testing
Suite run locally in scratch venvs on 3.12, 3.13 and 3.14: 704 passed, 2 skipped on each; on 3.10 the suite fails at collection as described.
ruff check,ruff format --checkandbasedpyrightclean on the new lock with the 3.12 typecheck target. No conversion code changed, so no filing-specific verification beyond the suite's own fixtures.🤖 Generated with Claude Code