diff --git a/docs/conf.py b/docs/conf.py old mode 100644 new mode 100755 diff --git a/numcodecs/lzma.py b/numcodecs/lzma.py index 592463b4..cec66c22 100644 --- a/numcodecs/lzma.py +++ b/numcodecs/lzma.py @@ -1,11 +1,11 @@ +import contextlib + _lzma = None try: import lzma as _lzma except ImportError: # pragma: no cover - try: + with contextlib.suppress(ImportError): from backports import lzma as _lzma - except ImportError: - pass if _lzma: diff --git a/numcodecs/registry.py b/numcodecs/registry.py index befecf0a..045ef0b8 100644 --- a/numcodecs/registry.py +++ b/numcodecs/registry.py @@ -42,11 +42,10 @@ def get_codec(config): config = dict(config) codec_id = config.pop('id', None) cls = codec_registry.get(codec_id) - if cls is None: - if codec_id in entries: - logger.debug("Auto loading codec '%s' from entrypoint", codec_id) - cls = entries[codec_id].load() - register_codec(cls, codec_id=codec_id) + if cls is None and codec_id in entries: + logger.debug("Auto loading codec '%s' from entrypoint", codec_id) + cls = entries[codec_id].load() + register_codec(cls, codec_id=codec_id) if cls: return cls.from_config(config) raise ValueError(f'codec not available: {codec_id!r}') diff --git a/numcodecs/tests/test_blosc.py b/numcodecs/tests/test_blosc.py index d0a16272..95fd4cf1 100644 --- a/numcodecs/tests/test_blosc.py +++ b/numcodecs/tests/test_blosc.py @@ -133,7 +133,7 @@ def test_compress_blocksize_default(use_threads): assert blocksize > 0 -@pytest.mark.parametrize('bs', (2**7, 2**8)) +@pytest.mark.parametrize('bs', [2**7, 2**8]) def test_compress_blocksize(use_threads, bs): arr = np.arange(1000, dtype='i4') @@ -225,7 +225,7 @@ def _decode_worker(enc): return data -@pytest.mark.parametrize('pool', (Pool, ThreadPool)) +@pytest.mark.parametrize('pool', [Pool, ThreadPool]) def test_multiprocessing(use_threads, pool): data = np.arange(1000000) enc = _encode_worker(data) diff --git a/numcodecs/tests/test_json.py b/numcodecs/tests/test_json.py index 88924486..771a0519 100644 --- a/numcodecs/tests/test_json.py +++ b/numcodecs/tests/test_json.py @@ -59,7 +59,7 @@ def test_backwards_compatibility(): @pytest.mark.parametrize( - "input_data, dtype", + ('input_data', 'dtype'), [ ([0, 1], None), ([[0, 1], [2, 3]], None), diff --git a/numcodecs/tests/test_msgpacks.py b/numcodecs/tests/test_msgpacks.py index 7597041a..c05cc78d 100644 --- a/numcodecs/tests/test_msgpacks.py +++ b/numcodecs/tests/test_msgpacks.py @@ -56,7 +56,7 @@ def test_backwards_compatibility(): @pytest.mark.parametrize( - "input_data, dtype", + ("input_data", "dtype"), [ ([0, 1], None), ([[0, 1], [2, 3]], None), diff --git a/numcodecs/tests/test_shuffle.py b/numcodecs/tests/test_shuffle.py index 0d369bd3..18afcb90 100644 --- a/numcodecs/tests/test_shuffle.py +++ b/numcodecs/tests/test_shuffle.py @@ -89,7 +89,7 @@ def _decode_worker(enc): return data -@pytest.mark.parametrize('pool', (Pool, ThreadPool)) +@pytest.mark.parametrize('pool', [Pool, ThreadPool]) def test_multiprocessing(pool): data = np.arange(1000000) enc = _encode_worker(data) diff --git a/pyproject.toml b/pyproject.toml index b6955be8..6cecd9ab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -137,8 +137,28 @@ environment = { DISABLE_NUMCODECS_AVX2=1, DISABLE_NUMCODECS_SSE2=1 } line-length = 100 [tool.ruff.lint] -extend-select = [ "B", "I", "RUF", "UP" ] -ignore = [ "RUF001", "UP007" ] +extend-select = [ + "B", + "I", + "PGH", + "PT", + "RSE", + "RUF", + "UP", +] +ignore = [ + "B028", + "B904", + "PT001", + "PT004", # deprecated + "PT005", # deprecated + "PT011", + "PT012", + "RUF001", + "UP007", + "UP027", # deprecated + "UP038", # https://github.com/astral-sh/ruff/issues/7871 +] [tool.ruff.format] quote-style = "preserve" diff --git a/setup.py b/setup.py index 464b6593..b6db0797 100644 --- a/setup.py +++ b/setup.py @@ -333,14 +333,14 @@ def run(self): build_ext.run(self) except PlatformError as e: error(e) - raise BuildFailed() from e + raise BuildFailed from e def build_extension(self, ext): try: build_ext.build_extension(self, ext) except ext_errors as e: error(e) - raise BuildFailed() from e + raise BuildFailed from e class Sclean(clean):