From f847f0cfea5204774fe72943fccd0244f9f4630b Mon Sep 17 00:00:00 2001 From: Antonio Valentino Date: Sun, 15 Feb 2026 11:14:27 +0100 Subject: [PATCH] Switch from pyzstd to compression.zstd Python v3.14 introduces the `compression.zstd` module (derived from pyzsrd). For Python versions lower than v3.14 the `backports.zstd` module is now available. This patch modifies teh test code to use `compression.zsrd` intead of the old and deprecated `pyzstd` module. --- numcodecs/tests/test_pyzstd.py | 25 +++++++++++++++---------- pyproject.toml | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/numcodecs/tests/test_pyzstd.py b/numcodecs/tests/test_pyzstd.py index 7ee6084b..64e54ee9 100644 --- a/numcodecs/tests/test_pyzstd.py +++ b/numcodecs/tests/test_pyzstd.py @@ -2,7 +2,13 @@ import numpy as np import pytest -import pyzstd +try: + from compression import zstd as pyzstd +except ImportError: + try: + from backports import zstd as pyzstd + except ImportError: + import pyzstd from numcodecs.zstd import Zstd @@ -56,7 +62,6 @@ def test_pyzstd_streaming(input): """ pyzstd_c = pyzstd.ZstdCompressor() pyzstd_d = pyzstd.ZstdDecompressor() - pyzstd_e = pyzstd.EndlessZstdDecompressor() z = Zstd() d_bytes = input @@ -66,11 +71,11 @@ def test_pyzstd_streaming(input): assert pyzstd_d.decompress(z.encode(d_bytes)) == d_bytes # Test multiple streaming frames - assert z.decode(c_bytes * 2) == pyzstd_e.decompress(c_bytes * 2) - assert z.decode(c_bytes * 3) == pyzstd_e.decompress(c_bytes * 3) - assert z.decode(c_bytes * 4) == pyzstd_e.decompress(c_bytes * 4) - assert z.decode(c_bytes * 5) == pyzstd_e.decompress(c_bytes * 5) - assert z.decode(c_bytes * 7) == pyzstd_e.decompress(c_bytes * 7) - assert z.decode(c_bytes * 11) == pyzstd_e.decompress(c_bytes * 11) - assert z.decode(c_bytes * 13) == pyzstd_e.decompress(c_bytes * 13) - assert z.decode(c_bytes * 99) == pyzstd_e.decompress(c_bytes * 99) + assert z.decode(c_bytes * 2) == pyzstd.decompress(c_bytes * 2) + assert z.decode(c_bytes * 3) == pyzstd.decompress(c_bytes * 3) + assert z.decode(c_bytes * 4) == pyzstd.decompress(c_bytes * 4) + assert z.decode(c_bytes * 5) == pyzstd.decompress(c_bytes * 5) + assert z.decode(c_bytes * 7) == pyzstd.decompress(c_bytes * 7) + assert z.decode(c_bytes * 11) == pyzstd.decompress(c_bytes * 11) + assert z.decode(c_bytes * 13) == pyzstd.decompress(c_bytes * 13) + assert z.decode(c_bytes * 99) == pyzstd.decompress(c_bytes * 99) diff --git a/pyproject.toml b/pyproject.toml index 164ba5dc..6a5d495a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,7 +72,7 @@ test = [ "coverage", "pytest", "pytest-cov", - "pyzstd" + "backports.zstd ; python_version<'3.14'" ] test_extras = [ "importlib_metadata",