Skip to content

fix(compat): raise three floors for Python 3.13 and newer - #113

Merged
simonvanlierde merged 1 commit into
mainfrom
fix/compat-floors-py313
Nov 1, 2026
Merged

simonvanlierde merged 1 commit into
mainfrom
fix/compat-floors-py313

Conversation

@simonvanlierde

Copy link
Copy Markdown
Owner

Fixes the compat floors column on Python 3.13 and 3.14, which failed on every OS. The oldest NumPy with wheels for 3.13 is 2.x, and three floors were too old for it or for Python 3.13 itself.

  • xarray>=2023.9.0 (bw2calc): up to 2023.8.0 uses np.unicode_, which NumPy 2 removed.
  • pint>=0.24.4 (bw2data): up to 0.23 uses np.cumproduct, and 0.24.0 to 0.24.3 fail on import with a frozen dataclass error.
  • fsspec>=2024.10.0 (bw_processing): up to 2024.9.0 the zip filesystem calls Path.__enter__, which Python 3.13 removed.
  • Each line has a python_version >= "3.13" marker, so 3.12 still tests the declared floors.

Tests: just compat 3.13 floors, just compat 3.14 floors and just compat 3.12 floors pass, as does tests/test_compat_sh.py.

The oldest NumPy with wheels for Python 3.13 is 2.x, so the floors column
failed there on every OS. These lines carry a python_version marker, so
3.12 still tests the declared floors.

- xarray>=2023.9.0: older releases use np.unicode_, gone in NumPy 2
- pint>=0.24.4: up to 0.23 uses np.cumproduct; 0.24.0 to 0.24.3 fail on import
- fsspec>=2024.10.0: older zip filesystems call Path.__enter__, gone in Python 3.13

Signed-off-by: Simon van Lierde <simonvanlierde@gmail.com>
@simonvanlierde
simonvanlierde merged commit 4332540 into main Nov 1, 2026
10 checks passed
@simonvanlierde
simonvanlierde deleted the fix/compat-floors-py313 branch November 1, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant