Repository navigation
Drop Python 3.10: support 3.11 to 3.14 - #48
Merged
Merged
Conversation
Python 3.10 reaches end of life in October 2026, and the lower bound was inherited from the first commit of this repository, never decided. requires-python becomes >=3.11 and the 3.10 classifier goes. The CI matrix (scripts/select_matrix.py) lists 3.11 to 3.14, so the full matrix is 16 legs per workflow and a pull request runs 10 + 4 legs. release.yml and after_tag_verify.sh derive the wheel count from the classifiers and requires-python, so they need no change. tests/test_select_matrix.py now reads pyproject.toml with tomllib (3.11 has it) and also checks that requires-python is the oldest Python of the matrix. README, docs, CLAUDE.md and the build.sh help state the new range and check counts. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
8 of 10 tasks
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.
What
The package now supports Python 3.11 to 3.14.
requires-pythonbecomes>=3.11and the 3.10 classifier is removed. Python 3.10 reaches end of life in October 2026, and the>=3.10bound was inherited from the first commit of this repository (2231dc5, 2025-11-03) and never decided. humemai/arcadedb-embedded-python already requires>=3.11. Python 3.15 is added later, as a separate change.Changes
pyproject.toml:requires-python = ">=3.11", 3.10 classifier removed. There is no ruff, black, mypy or uv.lock setting that pins 3.10, and no tox or nox file.scripts/select_matrix.py:PYTHONSis 3.11 to 3.14. The full matrix is 4 platforms x 4 Pythons = 16 legs per workflow. A pull request runslinux/amd64x 3.11-3.14 andlinux/arm64,darwin/arm64,windows/amd64x 3.11 and 3.14 = 10 bindings legs, plus 4 examples legs (all platforms on 3.14).tests/test_select_matrix.py: expectations updated (16 and 10 legs, 3.11 as the oldest). The test now readspyproject.tomlwithtomllib(3.11 has it, so the regex workaround for 3.10 is gone), and it also checks thatrequires-pythonis>=the oldest Python of the matrix, so the next drop cannot leave the install metadata behind.release.ymlandscripts/after_tag_verify.shneed no change: the wheel count is computed from the classifiers (4 Pythons x 4 platforms = 16 wheels), andafter_tag_verify.shalready skipscp310wheels of the previous release whenrequires-pythonrises.README.md,docs/.../index.adoc,installation.adoc,development/ci.adoc,CLAUDE.md, thescripts/build.shhelp text, the matrix comments in both test workflows, the examples workflow comment about 16 model downloads per release, and the floor-audit comment intest-python-bindings.yml(it named the packages 3.10 pulls in).test-python-examples.ymlandexamples/download_data.py, thetests/test_bulk_insert.pyarm64 note, and the dated plan indocs/superpowers/plans/).Check counts (counted from the YAML, jobs with a matrix counted per leg)
A non-draft pull request runs 20 checks: 10 + 4 test legs, 2 x
Download ArcadeDB JARs, 2 summary jobs,Bandit security scanandDependency floor audit. The full matrix runs 38: 16 + 16 test legs plus the same 6 other jobs. A merge waiter for a non-draft pull request should now require at least 20 checks (it was 21).Local checks that ran
pytest --noconftest tests/test_select_matrix.pyon Python 3.11 and on 3.14: 21 passed each.scripts/select_matrix.pyforpull_requestandpush: bindings 10 and 16 legs, examples 4 and 16 legs.pre-commit run --fileson all changed files: black, isort, shfmt, actionlint and the old-package-name check pass (the YAML formatter had nothing to check).uvx --from actionlint-py actionlinton all workflows: clean.if:conditions) together with the script output, not typed by hand.This does not merge anything; the CI of this pull request is the first run of the 20-check set.
🤖 Generated with Claude Code