Skip to content

build: python 3.12 / 3.13 test environments, tests independent of scipy / numpy versions - #192

Merged
janickm merged 2 commits into
NVIDIA:mainfrom
janickm:dev/janickm/py312-py313-test-envs
Oct 13, 2026
Merged

janickm merged 2 commits into
NVIDIA:mainfrom
janickm:dev/janickm/py312-py313-test-envs

Conversation

@janickm

@janickm janickm commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds python 3.12 / 3.13 test environments, and makes the tests independent of the scipy / numpy versions they run with. Factored out of #68.

  • test: compare rotations via composed rotation matrices (the return type of scipy's Rotation.__mul__ differs between scipy versions), convert numpy polynomial evaluations to floats before comparisons, and cast random float32 test data explicitly
  • build: python 3.12 / 3.13 toolchains and pip hubs, all pytest targets run with python 3.8, 3.11, 3.12 and 3.13 by default (dataset converter tests remain python 3.11 only)
target suffix python zarr-python numpy torch
_3_8 3.8 2.13.3 1.19 1.12.1 (CPU)
_3_11 3.11 2.18.4 1.26 2.7.0 (CUDA)
_3_12 3.12 2.18.7 2.5 2.7.0 (CPU)
_3_13 3.13 2.18.7 2.5 2.14.1 (CPU)

The python 3.12 / 3.13 environments use CPU-only torch wheels on purpose (CUDA is tested with python 3.11). zarr-python 2.18.7 is the first version with the correct numcodecs<0.16 restriction.

No changes to the library itself.

- Compare rotations via composed rotation matrices, as the return type
  annotation of scipy's Rotation.__mul__ differs between scipy versions
- Convert numpy polynomial evaluations to floats before comparisons
- Cast random float32 test data explicitly instead of passing dtype to
  Generator.random

Preparation for test environments with more recent python versions.
- Add python 3.12 and 3.13 toolchains and pip hubs with zarr-python
  2.18.7 (the first version with the correct numcodecs<0.16 restriction)
- torch: python 3.12 uses the same version as python 3.11 (2.7.0),
  python 3.13 the most recent version (2.14.1). Both use CPU-only wheels
  on purpose (CUDA is tested with python 3.11)
- Import torch.version explicitly in the sensor tests (the warning
  suppression of its implicit import is unused with torch 2.14)
- Run all pytest targets with python 3.8, 3.11, 3.12 and 3.13 by default
  (the dataset converter tests remain python 3.11 only)

Prepares testing with the most recent numpy / scipy / torch releases.
@janickm janickm changed the title build: add python 3.12 / 3.13 test environments build: python 3.12 / 3.13 test environments, tests independent of scipy / numpy versions Oct 13, 2026
@janickm
janickm added this pull request to the merge queue Oct 13, 2026
Merged via the queue into NVIDIA:main with commit 5b5fc02 Oct 13, 2026
5 checks passed
@janickm
janickm deleted the dev/janickm/py312-py313-test-envs branch October 13, 2026 12:43
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