Skip to content

Conversation

@forsyth2
Copy link
Collaborator

@forsyth2 forsyth2 commented Nov 18, 2025

Summary

Important: this should be merged to main after the production release of zppy-interfaces v0.2.0.

Objectives:

  • Add support for Python 3.14

Issue resolution:

Select one: This pull request is...

  • a bug fix: increment the patch version
  • a small improvement: increment the minor version
  • a new feature: increment the minor version
  • an incompatible (non-backwards compatible) API change: increment the major version

Small Change

  • To merge, I will use "Squash and merge". That is, this change should be a single commit.
  • Logic: I have visually inspected the entire pull request myself.
  • Pre-commit checks: All the pre-commits checks have passed.

@forsyth2 forsyth2 self-assigned this Nov 18, 2025
@forsyth2 forsyth2 added the DevOps CI/CD, configuration, etc. label Nov 18, 2025
@forsyth2
Copy link
Collaborator Author

Xylar had noted:

we would want python >=3.11,<3.15 by next spring and python >=3.12,<3.15 by next fall. That is, we add a python version each spring and drop one each fall.

So, for the Spring release (tentatively planned as: testing period beginning April 1, release on May 1), we'd want to support four versions of Python: 3.11, 3.12, 3.13, 3.14.

Tom also noted:

numba/llvmlite don't [yet support Python 3.14]. Both are dependencies of packages xesmf, which is a dependency of xcdat. Related issue with xcdat: xCDAT/xcdat#813 (comment)

@forsyth2
Copy link
Collaborator Author

Unlike zppy (E3SM-Project/zppy#757), we're going to need some fixes for zppy-interfaces to support Python 3.14, most of which are outside of our control.

Claude's response:


Looking at this GitHub Actions log, the Python 3.14 build failed due to dependency resolution conflicts. The issue is that some required packages don't yet have builds available for Python 3.14.

Key Problems:

  1. netcdf4 - Has builds for Python 3.14, but only versions 1.7.2 and 1.7.3
  2. pcmdi_metrics >=3.9.3 - Requires either:
    • Version 4.0.1: needs xcdat >=0.10.0 → needs xesmf >=0.8.7 → needs numba >=0.55.2 (no Python 3.14 build)
    • Versions 3.9.3/4.0.0: need shapely >=2.0.1,<=2.0.6 (no Python 3.14 builds in that range)

The conda solver couldn't find a combination of packages that satisfies all the requirements for Python 3.14.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DevOps CI/CD, configuration, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants