You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add official support for Python 3.14 to UXarray. Local testing shows UXarray already works on Python 3.14.6 with no source changes required — the only necessary change is a numba>=0.63 version floor (older numba does not support 3.14).
Motivation
Python 3.14 (released 2025-10-07) is the latest stable CPython.
The dependency ecosystem is ready: numba (0.63+), numpy, xarray, numba-JIT, cartopy, healpix, matplotlib, sphinx/myst-nb all have working 3.14 builds/wheels.
Pin numba>=0.63 in pyproject.toml. Per numba's support matrix, numba 0.63 (2025-12) is the first release supporting 3.10 <= python < 3.15; numba 0.61/0.62 cap at < 3.14. Without a floor, a 3.14 install can resolve an unsupported numba and fail at import.
Watch items (not blocking)
NumPy ceiling: numba 0.65.1 requires numpy < 2.5. Currently fine (2.4.6), but numpy 2.5 + current numba would conflict.
Add Programming Language :: Python :: 3.14 classifier
Add 3.14 to the CI test matrix (.github/workflows/ci.yml)
Update docs/CI conda envs (ci/environment.yml, ci/docs.yml) as needed
Confirm docs build on 3.14
(Optional) Decide whether to raise the minimum supported Python
Notes
Some of these changes (classifier, numba>=0.63, YAC 3.18 CI Python bump) are already staged on branch rajeeja/upgrade_yac alongside the YAC 3.18 upgrade.
Summary
Add official support for Python 3.14 to UXarray. Local testing shows UXarray already works on Python 3.14.6 with no source changes required — the only necessary change is a
numba>=0.63version floor (older numba does not support 3.14).Motivation
numba(0.63+),numpy,xarray,numba-JIT,cartopy,healpix,matplotlib,sphinx/myst-nball have working 3.14 builds/wheels.Compatibility findings (local testing on Python 3.14.6)
Environment: fresh conda env, Python 3.14.6, numba 0.65.1, numpy 2.4.6, matplotlib 3.10.9.
Test results (all passing):
face_areas@njitcompiletest/test_remap.pytest/test_plot.pytest/test_subset.py,test_helpers.py,test_dependencies.py,test_icon_io.pytest/test_remap_yac.py(with YAC 3.18)Required change
numba>=0.63inpyproject.toml. Per numba's support matrix, numba 0.63 (2025-12) is the first release supporting3.10 <= python < 3.15; numba 0.61/0.62 cap at< 3.14. Without a floor, a 3.14 install can resolve an unsupported numba and fail at import.Watch items (not blocking)
numpy < 2.5. Currently fine (2.4.6), but numpy 2.5 + current numba would conflict.matplotlib<3.11pin (see Remapping notebook is broken on RTD #1542) is unrelated to 3.14 and still satisfied.Proposed tasks
numba>=0.63topyproject.tomldependenciesProgramming Language :: Python :: 3.14classifier3.14to the CI test matrix (.github/workflows/ci.yml)ci/environment.yml,ci/docs.yml) as neededNotes
Some of these changes (classifier,
numba>=0.63, YAC 3.18 CI Python bump) are already staged on branchrajeeja/upgrade_yacalongside the YAC 3.18 upgrade.