chore: drop Python 3.10 support#41
Open
tabedzki wants to merge 1 commit into
Open
Conversation
Python 3.10 reaches end-of-life in October 2026, and dropping it lets the project move to dependencies (notably pandas 3.0) that require Python >=3.11. - pyproject.toml: requires-python >=3.11; remove the 3.10 classifier - re-lock (plain uv lock, no upgrade): drops all python_full_version < '3.11' markers, py3.10 wheels, and the tomli backport; no package versions bumped - CI: fix the Codecov upload gate that was pinned to the never-matched '3.10' (matrix runs 3.12), so coverage actually uploads - docs/README/tests: state Python 3.11+ instead of 3.10+ Full test suite passes (120 passed) on Python 3.14. Assisted-by: ClaudeCode:claude-opus-4.8
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.
🤖 AI text below 🤖
What
Raises the Python floor from 3.10 to 3.11.
pyproject.toml:requires-python = ">=3.11", remove the3.10classifieruv.lock: re-locked with a plainuv lock(no--upgrade) — drops allpython_full_version < '3.11'markers, the py3.10 wheels, and thetomlibackport (stdlibtomllibsince 3.11). No package versions were bumped.tests.yml): fix the Codecov uploadif:gate that was pinned to'3.10'— which never matched the['3.12']matrix, so coverage upload was silently dead. Now gated on'3.12'.Why
Python 3.10 reaches end-of-life in October 2026. Dropping it now unblocks moving to dependencies that require >=3.11 — notably pandas 3.0, which dropped 3.10 support. (The pandas 3.0 floor bump itself lives in the separate chained-assignment PR #39; this PR only removes the 3.10 constraint that would otherwise make
pandas>=3.0unsatisfiable.)Verification
120 passed(Python 3.14, pandas 2.3.1).uv lock --checkpasses; lock diff is pure marker/wheel removal (−698 lines), no upgrades.sys.version_infoguards,typing_extensions,tomliimports) — none in source, so no code changes were needed.Note
This is intentionally scoped to the version drop. It pairs with #39 (pandas 3.0 chained-assignment fix); once both merge, a follow-up can raise the constraint to
pandas>=3.0now that the floor allows it.