From c6a8bf3293df8c26dece17798e3d6fb20a972a6a Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 24 May 2024 11:00:22 +0100 Subject: [PATCH 1/4] Bump min Python to 3.10 --- .github/workflows/ci-linux.yaml | 2 +- .github/workflows/ci-osx.yaml | 2 +- .github/workflows/ci-windows.yaml | 2 +- .github/workflows/wheel.yaml | 5 +++-- docs/release.rst | 6 +++++- pyproject.toml | 2 +- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-linux.yaml b/.github/workflows/ci-linux.yaml index 4e13e308..64320967 100644 --- a/.github/workflows/ci-linux.yaml +++ b/.github/workflows/ci-linux.yaml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12"] steps: - name: Checkout source diff --git a/.github/workflows/ci-osx.yaml b/.github/workflows/ci-osx.yaml index b5a46c04..c362c3e5 100644 --- a/.github/workflows/ci-osx.yaml +++ b/.github/workflows/ci-osx.yaml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12"] steps: - name: Checkout source diff --git a/.github/workflows/ci-windows.yaml b/.github/workflows/ci-windows.yaml index 3d27d1e3..e704d701 100644 --- a/.github/workflows/ci-windows.yaml +++ b/.github/workflows/ci-windows.yaml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12"] steps: - name: Checkout source diff --git a/.github/workflows/wheel.yaml b/.github/workflows/wheel.yaml index cb4f2b3e..26c445ed 100644 --- a/.github/workflows/wheel.yaml +++ b/.github/workflows/wheel.yaml @@ -16,7 +16,8 @@ jobs: os: [ubuntu-latest, windows-latest, macos-12] env: CIBW_TEST_COMMAND: python -c "import numcodecs" - CIBW_SKIP: "pp* cp36-* *-musllinux_* *win32 *_i686 *_s390x" + CIBW_BUILD: "cp310-* cp311-* cp312-*" + CIBW_SKIP: "pp* *-musllinux_* *win32 *_i686 *_s390x" CIBW_ARCHS_MACOS: 'x86_64 arm64' CIBW_TEST_SKIP: '*-macosx_arm64' # note: CIBW_ENVIRONMENT is now set in pyproject.toml @@ -44,7 +45,7 @@ jobs: - uses: actions/setup-python@v5 name: Install Python with: - python-version: '3.9' + python-version: '3.10' - name: Build sdist run: pipx run build --sdist diff --git a/docs/release.rst b/docs/release.rst index 1c4f2787..148a9b00 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -11,6 +11,10 @@ Release notes Unreleased ---------- +Maintenance +~~~~~~~~~~~ +* The minimum supported Python version is now Python 3.10. + Enhancements ~~~~~~~~~~~~ @@ -24,7 +28,7 @@ Fix * Fix skip of entry points backport tests By :user:`Elliott Sales de Andrade `, :issue:`487`. -* Fix Upgrade to Zstd 1.5.5 due to potential corruption. +* Fix Upgrade to Zstd 1.5.5 due to potential corruption. By :user:`Mark Kittisopikul `, :issue:`429` Maintenance diff --git a/pyproject.toml b/pyproject.toml index f7c23d2a..1b9ccca4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ readme = "README.rst" dependencies = [ "numpy>=1.7,<2", ] -requires-python = ">=3.8" +requires-python = ">=3.10" dynamic = [ "version", ] From d18eedd146190888dfb6881ee8416ac3abd7300f Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 24 May 2024 11:47:47 +0100 Subject: [PATCH 2/4] Bump readthedocs Python --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 1405493c..bf954229 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -6,7 +6,7 @@ submodules: build: os: ubuntu-20.04 tools: - python: "3.9" + python: "3.12" sphinx: configuration: docs/conf.py From d1de9295035c0288ccd07798fb2c3cba88ea794a Mon Sep 17 00:00:00 2001 From: David Stansby Date: Wed, 19 Jun 2024 09:41:26 +0100 Subject: [PATCH 3/4] Clean up entrypoints code for Python 3.10+ --- numcodecs/registry.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/numcodecs/registry.py b/numcodecs/registry.py index d0cd0748..4bd6434e 100644 --- a/numcodecs/registry.py +++ b/numcodecs/registry.py @@ -11,12 +11,7 @@ def run_entrypoints(): entries.clear() eps = entry_points() - if hasattr(eps, 'select'): - # If entry_points() has a select method, use that. Python 3.10+ - entries.update({e.name: e for e in eps.select(group="numcodecs.codecs")}) - else: - # Otherwise, fallback to using get - entries.update({e.name: e for e in eps.get("numcodecs.codecs", [])}) + entries.update({e.name: e for e in eps.select(group="numcodecs.codecs")}) run_entrypoints() From e144faa22d47123fee32bd5d7611cf05679d3fcc Mon Sep 17 00:00:00 2001 From: David Stansby Date: Wed, 19 Jun 2024 10:40:30 +0100 Subject: [PATCH 4/4] Trigger Build