-
Notifications
You must be signed in to change notification settings - Fork 16
Drop Python 3.10 support #794
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #794 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 16 16
Lines 1780 1782 +2
=========================================
+ Hits 1780 1782 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR removes support for Python 3.10 as requested in issue #792, updating the minimum Python version requirement to 3.11.
- Updated minimum Python version from 3.10 to 3.11 across configuration files
- Fixed deprecated xarray syntax in temporal.py and tests
- Updated MyPy configuration to use Python 3.13 for type checking
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Updated requires-python to >=3.11, removed Python 3.10 classifier, changed MyPy target to 3.13 |
| conda-env/dev.yml | Updated Python dependency to >=3.11,<3.14 |
| conda-env/ci.yml | Updated Python dependency to >=3.11,<3.14 |
| .github/workflows/build_workflow.yml | Removed Python 3.10 from test matrix, updated setup action to use Python 3.13 |
| xcdat/temporal.py | Fixed deprecated xarray .get() syntax to use bracket notation |
| tests/test_axis.py | Replaced deprecated .identical() assertions with xr.testing.assert_identical() |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <[email protected]>
|
Hi @lee1043 and @xCDAT/core-developers, to further clarify why we needed to drop Python 3.10 support now: cf-xarray v0.10.7+ no longer supports 3.10, and that’s the first release with the important bounds_to_vertices() fix. That fix flows up into xESMF and into our xCDAT regridding workflows, where it makes sure non-monotonic bounds are handled correctly during regridding. Without it, results can be wrong as demonstrated in e3sm_diags (E3SM-Project/e3sm_diags#979). So to keep things working correctly, it's best to move on from Python 3.10 (besides it being end-of-life in Oct/2026 and soon to be phased out by major packages like |
Description
Checklist
If applicable: