Skip to content

Drop Python 3.9, add Python 3.13 and 3.14 support#184

Merged
amc-corey-cox merged 5 commits into
mainfrom
drop-py39
Mar 9, 2026
Merged

Drop Python 3.9, add Python 3.13 and 3.14 support#184
amc-corey-cox merged 5 commits into
mainfrom
drop-py39

Conversation

@amc-corey-cox
Copy link
Copy Markdown
Contributor

Summary

  • Bump minimum Python from ^3.9 to ^3.10 (3.9 reached EOL October 2025)
  • Add Python 3.13 and 3.14 to classifiers and CI matrix
  • Remove continue-on-error for 3.13 (stable since Oct 2024)
  • Bump GitHub Actions to current versions: checkout v4, setup-python v5, cache v4

Closes #182
Part of release plan for v0.5.4-rc2 (#181)

Test plan

  • CI passes on all matrix combinations (3.10–3.14 x ubuntu/windows)

amc-corey-cox and others added 3 commits March 6, 2026 15:20
- Bump minimum Python from ^3.9 to ^3.10 (3.9 EOL Oct 2025)
- Add 3.13 and 3.14 to classifiers and CI matrix
- Remove continue-on-error for 3.13 (now stable)
- Bump actions/checkout to v4, setup-python to v5, cache to v4

Closes #182

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

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the project’s declared and tested Python support to drop EOL Python 3.9 and add support for newer Python versions, aligning packaging metadata, dependency locking, and CI.

Changes:

  • Bump minimum supported Python from ^3.9 to ^3.10 and update Trove classifiers through 3.14.
  • Regenerate poetry.lock under the new Python constraint / newer Poetry version.
  • Update PR CI matrix to test Python 3.10–3.14 and bump core GitHub Actions versions.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.

File Description
pyproject.toml Drops 3.9, sets Python requirement to ^3.10, adds classifiers for 3.13/3.14.
poetry.lock Lockfile regenerated (Poetry 2.3.2) consistent with ^3.10 minimum and updated deps/markers.
.github/workflows/check-pull-request.yaml Updates CI matrix (3.10–3.14), bumps actions versions, adds runtime diagnostics, changes continue-on-error behavior.
Comments suppressed due to low confidence (1)

.github/workflows/check-pull-request.yaml:63

  • The cache key for .venv does not include matrix.python-version, so a venv built under one Python version can be restored for a different version on the same OS. That can cause flaky CI and import/ABI issues for compiled deps (e.g., lxml/numpy/greenlet). Include ${{ matrix.python-version }} (and optionally architecture) in the cache key (and restore-keys if desired).
      - name: Load cached venv
        id: cached-poetry-dependencies
        uses: actions/cache@v4
        with:
          path: .venv
          key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/check-pull-request.yaml Outdated
Comment thread .github/workflows/check-pull-request.yaml
@amc-corey-cox amc-corey-cox merged commit a766f0b into main Mar 9, 2026
11 checks passed
@amc-corey-cox amc-corey-cox deleted the drop-py39 branch March 9, 2026 21:18
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.

Drop Python 3.9, add official Python 3.13 support

2 participants