diff --git a/.github/workflows/ci-linux.yaml b/.github/workflows/ci-linux.yaml index a46ad395..665f6233 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"] + python-version: ["3.8", "3.9", "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 1f340bc0..e76fe050 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"] + python-version: ["3.8", "3.9", "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 154ed20b..c2847b5c 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"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - name: Checkout source diff --git a/docs/release.rst b/docs/release.rst index 1c64cee1..5b9d493d 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -19,6 +19,8 @@ Enhancements By :user:`Martin Durant `, :issue:`410`. * Add ``jenkins_lookup3`` checksum codec By :user:`Mark Kittisopkul `, :issue:`445`. +* Support Python 3.12. + By :user:`John Kirkham `, :issue:`471`. Fix ~~~ diff --git a/numcodecs/registry.py b/numcodecs/registry.py index a4dff6d7..24186fa5 100644 --- a/numcodecs/registry.py +++ b/numcodecs/registry.py @@ -13,7 +13,7 @@ def run_entrypoints(): eps = entry_points() if hasattr(eps, 'select'): # If entry_points() has a select method, use that. Python 3.10+ - entries.update(eps.select(group="numcodecs.codecs")) + entries.update({e.name: e for e in eps.select(group="numcodecs.codecs")}) else: # Otherwise, fallback to using get entries.update(eps.get("numcodecs.codecs", []))