Skip to content

Support Python 3.10-3.14, drop 3.8 and 3.9 - #90

Merged
timvink merged 1 commit into
masterfrom
python-314-support
Sep 14, 2026
Merged

timvink merged 1 commit into
masterfrom
python-314-support

Conversation

@timvink

@timvink timvink commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Adds support for Python 3.12, 3.13 and 3.14, and drops 3.8 and 3.9.

Changes

  • requires-python is now >=3.10, with classifiers for 3.10 through 3.14.
  • The pytest matrix runs 3.10, 3.11, 3.12, 3.13 and 3.14 on ubuntu, macos and windows (15 jobs, was 12).
  • uv.lock regenerated. The old lock pinned pandas 2.2 and pyarrow 19, neither of which ships cp314 wheels, so a 3.14 job would have tried to build them from source. The refreshed lock resolves pandas 3.0.5, numpy 2.5 and pyarrow 25 for the newer interpreters while keeping working versions for 3.10.
  • One test string in tests/test_safe_eval.py became a raw string. "'\s+'" is an invalid escape sequence: it warns on 3.14 and is slated to become a SyntaxError.

No source changes were needed — the plugin code already works on all five versions.

Verification

The full suite passes locally on each version in the new matrix, including on pandas 3.0:

3.10  34 passed
3.11  34 passed
3.12  34 passed
3.13  34 passed
3.14  34 passed

Note that this is a breaking change for anyone still on 3.8 or 3.9, so it warrants a minor version bump.

🤖 Generated with Claude Code

https://claude.ai/code/session_012isf4cKfkYp29T3Zem6op8

Raise requires-python to >=3.10 and add classifiers up to 3.14. The CI
matrix now runs 3.10, 3.11, 3.12, 3.13 and 3.14 on all three platforms.

Refreshed uv.lock so dependencies resolve on 3.14 (pandas 3.0 and pyarrow
25 for the newer interpreters), and made a regex test string raw, since
invalid escape sequences warn on 3.14 and become errors later.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012isf4cKfkYp29T3Zem6op8
@timvink
timvink merged commit b1c068c into master Sep 14, 2026
31 checks passed
@timvink
timvink deleted the python-314-support branch September 14, 2026 10:44
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