Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@tomvothecoder
Copy link
Collaborator

@tomvothecoder tomvothecoder commented Sep 16, 2025

Description

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

If applicable:

  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass with my changes (locally and CI/CD build)
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have noted that this is a breaking change for a major release (fix or feature that would cause existing functionality to not work as expected)

@github-actions github-actions bot added the type: devops Testing, CI/CD, systems configuration label Sep 16, 2025
@tomvothecoder tomvothecoder changed the title Drop support for Python 3.11 and add 3.14 Drop support for Python 3.11 support Sep 16, 2025
@tomvothecoder tomvothecoder changed the title Drop support for Python 3.11 support Drop support for Python 3.10 support Sep 16, 2025
@tomvothecoder tomvothecoder changed the title Drop support for Python 3.10 support Drop Python 3.10 support Sep 16, 2025
@codecov
Copy link

codecov bot commented Sep 16, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (d9d0e76) to head (43fc0a5).
⚠️ Report is 1 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

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

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.

@tomvothecoder tomvothecoder moved this from Todo to In Review in xCDAT Development Sep 16, 2025
@tomvothecoder tomvothecoder self-assigned this Sep 16, 2025
@tomvothecoder tomvothecoder merged commit 525904a into main Sep 16, 2025
7 checks passed
@github-project-automation github-project-automation bot moved this from In Review to Done in xCDAT Development Sep 16, 2025
@tomvothecoder
Copy link
Collaborator Author

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 xarray/numpy/pandas).

@tomvothecoder tomvothecoder deleted the devops/792-drop-py-310-add-314 branch September 24, 2025 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: devops Testing, CI/CD, systems configuration

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[DevOps] Drop Python 3.10 support

2 participants