Skip to content

Add Python 3.13 support#154

Merged
igerber merged 1 commit intomainfrom
python-3-13
Feb 16, 2026
Merged

Add Python 3.13 support#154
igerber merged 1 commit intomainfrom
python-3-13

Conversation

@igerber
Copy link
Copy Markdown
Owner

@igerber igerber commented Feb 16, 2026

Summary

  • Add Python 3.13 to build matrices (Linux, macOS, Windows wheels in publish.yml)
  • Add Python 3.13 to CI test matrix (rust-test.yml): python-tests now runs 3.11 + 3.13 on all 3 OSes; python-fallback switches from 3.11 to 3.13
  • Cap requires-python at >=3.9,<3.14 to prevent broken installs on untested versions
  • Add Programming Language :: Python :: 3.13 classifier to pyproject.toml
  • Update README requirements to show supported range Python 3.9 - 3.13
  • Add "Keep in sync" comments to manual pip install lines in CI workflow

Methodology references (required if estimator / math changes)

  • N/A - no methodology changes (CI/build/docs only)

Validation

  • Tests added/updated: No test changes needed — existing 1285 tests pass on current Python
  • CI matrix expansion will validate 3.13 compatibility on push

Security / privacy

  • Confirm no secrets/PII in this PR: Yes

Generated with Claude Code

Add 3.13 to build matrices (publish.yml), CI test matrix (rust-test.yml),
classifiers (pyproject.toml), and docs (README.md). Cap requires-python
at <3.14 to prevent broken installs on untested versions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Overall assessment: ✅ Looks good

Executive summary

  • CI/build matrices and package metadata now include Python 3.13; README range updated accordingly.
  • No estimator, math, weighting, or inference changes detected in the diff.
  • Potential release gap: Linux wheel build will silently skip 3.13 if the manylinux image doesn’t contain cp313.
  • Pure-Python fallback is now only validated on 3.13, leaving the min-supported 3.9 path untested.

Methodology
No estimator/math/SE/assumption changes in this PR; Methodology Registry and source-paper cross-checks are not applicable.

Code Quality
No issues found.

Performance
No issues found.

Maintainability

  • P2. Impact: If quay.io/pypa/manylinux_2_28_x86_64 lacks cp313, Linux 3.13 wheels are silently skipped while metadata/README claim 3.13 support, potentially surprising Linux users at install time. Fix: Fail the build when cp313 is missing or pin/update the manylinux image to one known to include 3.13, and/or explicitly validate that cp313 exists before release. Location: .github/workflows/publish.yml:L22-L30.

Tech Debt
No issues found.

Security
No issues found.

Documentation/Tests

  • P3. Impact: Pure-Python fallback is now only exercised on 3.13, so regressions specific to the minimum supported version (3.9) could slip. Fix: Run the fallback job on 3.9 (or add a small matrix covering 3.9 and 3.13). Location: .github/workflows/rust-test.yml:L136-L157.

@igerber igerber merged commit aa98b74 into main Feb 16, 2026
11 checks passed
@igerber igerber deleted the python-3-13 branch February 16, 2026 16:51
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