Conversation
WalkthroughThe changes drop support for Python 3.10 and 3.11, establish Python 3.12 as the minimum required version, and add experimental support for Python 3.14. Configuration files across CI workflows and project metadata are updated consistently to reflect the new version range. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes
Possibly related PRs
Suggested labels
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #197 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 2 2
Lines 8 8
=========================================
Hits 8 8 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR updates the minimum supported Python version from 3.10 to 3.12, removing support for Python 3.10 and 3.11 while adding support for Python 3.14.
- Updates project classifiers and minimum Python requirement to 3.12
- Updates CI/CD test matrix to test Python 3.12, 3.13, and 3.14
- Updates Ruff linter target version to Python 3.12
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| pyproject.toml | Removes Python 3.10 and 3.11 classifiers, adds 3.14 classifier, updates requires-python to >= 3.12, and updates ruff target-version to py312 |
| .github/workflows/test.yaml | Updates test matrix to run tests on Python 3.12, 3.13, and 3.14 |
| .github/workflows/build_docs.yaml | Changes documentation build Python version from 3.13 to 3.12 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@shenxiangzhuang I've opened a new pull request, #198, to work on those changes. Once the pull request is ready, I'll request review from you. |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/build_docs.yaml(1 hunks).github/workflows/test.yaml(1 hunks)pyproject.toml(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: ci (3.13, macos-latest)
🔇 Additional comments (4)
pyproject.toml (3)
19-19: LGTM!The minimum Python version is correctly updated to 3.12, aligning with the PR objectives and the updated classifiers.
107-108: LGTM!The Ruff target-version is correctly updated to
py312, ensuring the linter enforces syntax and features appropriate for Python 3.12+.
17-17: No special handling needed for Python 3.14 classifier.Python 3.14 was released on 7 October 2025 and is fully stable. The GitHub Actions setup-python action includes Python 3.14, making the classifier addition straightforward and valid. This is standard forward-looking support for the latest Python version.
.github/workflows/test.yaml (1)
14-14: The Python 3.14 configuration in the test matrix is correct.The GitHub Actions setup-python@v6 action includes Python 3.14 support and can provision it for all matrix OSes (ubuntu-latest, macos-latest, windows-latest). Python 3.14.2 binaries are available for darwin (macOS) and linux platforms, and Windows uses official Python executables downloaded from python.org. No verification action is required.
| matrix: | ||
| python-version: | ||
| - "3.13" | ||
| - "3.12" |
There was a problem hiding this comment.
Critical: Documentation deployment will fail due to matrix mismatch.
The docs build matrix only includes Python 3.12, but the deploy condition on line 49 checks for Python 3.13. This mismatch means documentation will never be deployed because no job will satisfy the deployment condition.
🔎 Apply this diff to fix the deploy condition:
Update line 49 to match the matrix version:
- - name: Deploy docs
- if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && github.event_name == 'push' && github.ref == 'refs/heads/master'
- run: uv run mkdocs gh-deploy --force
+ - name: Deploy docs
+ if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12' && github.event_name == 'push' && github.ref == 'refs/heads/master'
+ run: uv run mkdocs gh-deploy --forceAlternatively, if you want to keep deploying with Python 3.13, add it to the matrix on line 15.
Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
.github/workflows/build_docs.yaml around line 15 (and adjust line 49): the build
matrix currently lists only Python "3.12" but the deploy condition checks for
"3.13", causing docs never to deploy; fix by making the matrix and deploy
condition match—either change the deploy condition at line 49 to "3.12" or add
"3.13" to the matrix on line 15 so the checked-for version exists; ensure both
the matrix entries and the if/deploy condition use the exact same version
string.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.