Skip to content

Commit 260e658

Browse files
authored
Drop Python 3.11 and NumPy <2.0 per SPEC-0 (#834)
* Drop Python 3.11 and NumPy <2.0 per SPEC-0000, update zarr test matrix Apply scientific-python SPEC-0000 support policy: - Python minimum 3.11 -> 3.12 (3.11 released Oct 2022, 3-year window expired) - NumPy minimum 1.24 -> 2.0 (1.24 released Dec 2022, 2-year window expired) - Zarr test pins 3.1.2/3.1.3 -> 3.0.8/3.1.6 (oldest supported + latest) * Lint
1 parent 8b882dc commit 260e658

File tree

6 files changed

+18
-19
lines changed

6 files changed

+18
-19
lines changed

.github/workflows/ci.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
python-version: ["3.11", "3.12", "3.13", "3.14"]
15+
python-version: ["3.12", "3.13", "3.14"]
1616
# macos-15-large is an intel runner, macos-14 is an arm64 runner
1717
platform: [ubuntu-latest, ubuntu-22.04-arm, windows-latest, macos-15-large, macos-14]
1818

@@ -129,10 +129,10 @@ jobs:
129129
fail-fast: false
130130
matrix:
131131
include:
132-
- zarr-version: "312"
133-
zarr-pkg: "zarr==3.1.2"
134-
- zarr-version: "313"
135-
zarr-pkg: "zarr==3.1.3"
132+
- zarr-version: "308"
133+
zarr-pkg: "zarr==3.0.8"
134+
- zarr-version: "316"
135+
zarr-pkg: "zarr==3.1.6"
136136
- zarr-version: "main"
137137
zarr-pkg: "zarr @ git+https://github.com/zarr-developers/zarr-python.git@main"
138138

.github/workflows/wheel.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
os: [ubuntu-latest, ubuntu-22.04-arm, windows-latest, macos-15-large, macos-14]
2424
env:
2525
CIBW_TEST_COMMAND: python -c "import numcodecs"
26-
CIBW_BUILD: "cp311-* cp312-* cp313-* cp314-*"
26+
CIBW_BUILD: "cp312-* cp313-* cp314-*"
2727
CIBW_SKIP: "*-musllinux_* *win32 *_i686 *_s390x"
2828
# note: cibuildwheel config-settings are set in pyproject.toml
2929

@@ -52,7 +52,7 @@ jobs:
5252
- uses: actions/setup-python@v5
5353
name: Install Python
5454
with:
55-
python-version: "3.11"
55+
python-version: "3.12"
5656

5757
- name: Build sdist
5858
run: pipx run build --sdist

docs/contributing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ $ pytest tests/test_checksum32.py -v
256256
```
257257

258258
All tests are automatically run via GitHub Actions for every pull request across Linux
259-
(x86_64, aarch64, i386), macOS (x86_64, arm64), and Windows (x86_64), with Python 3.11
259+
(x86_64, aarch64, i386), macOS (x86_64, arm64), and Windows (x86_64), with Python 3.12
260260
through 3.14. Tests must pass on all platforms before code can be accepted.
261261

262262
### Code standards

docs/design/meson-python-migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -609,7 +609,7 @@ To run tests for specific Zarr integration versions::
609609
610610
All tests are automatically run via GitHub Actions for every pull request
611611
across Linux (x86_64, aarch64, i386), macOS (x86_64, arm64), and Windows
612-
(x86_64), with Python 3.11 through 3.14.
612+
(x86_64), with Python 3.12 through 3.14.
613613
```
614614

615615
### Other sections to update

pyproject.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ description = """
1414
A Python package providing buffer compression and transformation codecs \
1515
for use in data storage and communication applications."""
1616
readme = "README.md"
17-
dependencies = ["numpy>=1.24", "typing_extensions"]
18-
requires-python = ">=3.11"
17+
dependencies = ["numpy>=2.0", "typing_extensions"]
18+
requires-python = ">=3.12"
1919
dynamic = [
2020
"version",
2121
]
@@ -89,16 +89,16 @@ dev = [
8989
"setuptools-scm>=6.2",
9090
"numpy>=2",
9191
]
92-
test-zarr-312 = [
92+
test-zarr-308 = [
9393
"pytest",
9494
"pytest-cov",
95-
"zarr==3.1.2",
95+
"zarr==3.0.8",
9696
"crc32c",
9797
]
98-
test-zarr-313 = [
98+
test-zarr-316 = [
9999
"pytest",
100100
"pytest-cov",
101-
"zarr==3.1.3",
101+
"zarr==3.1.6",
102102
"crc32c",
103103
]
104104
test-zarr-main = [
@@ -249,8 +249,8 @@ no-build-isolation-package = ["numcodecs"]
249249
conflicts = [
250250
# Zarr versions conflict with each other
251251
[
252-
{ group = "test-zarr-312" },
253-
{ group = "test-zarr-313" },
252+
{ group = "test-zarr-308" },
253+
{ group = "test-zarr-316" },
254254
{ group = "test-zarr-main" }
255255
]
256256
]

src/numcodecs/checksum32.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
import struct
44
import warnings
55
import zlib
6-
from collections.abc import Callable
6+
from collections.abc import Buffer, Callable
77
from typing import Literal
88

99
import numpy as np
10-
from typing_extensions import Buffer
1110

1211
from .abc import Codec
1312
from .compat import ensure_contiguous_ndarray, ndarray_copy

0 commit comments

Comments
 (0)