Skip to content

Commit 1720a75

Browse files
committed
complete move to zarr.codecs.numcodecs
1 parent 223ae65 commit 1720a75

File tree

6 files changed

+122
-108
lines changed

6 files changed

+122
-108
lines changed

docs/user-guide/config.rst

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -52,27 +52,27 @@ This is the current default configuration::
5252
'crc32c': 'zarr.codecs.crc32c_.Crc32cCodec',
5353
'endian': 'zarr.codecs.bytes.BytesCodec',
5454
'gzip': 'zarr.codecs.gzip.GzipCodec',
55-
'numcodecs.adler32': 'zarr.codecs._numcodecs.Adler32',
56-
'numcodecs.astype': 'zarr.codecs._numcodecs.AsType',
57-
'numcodecs.bitround': 'zarr.codecs._numcodecs.BitRound',
58-
'numcodecs.blosc': 'zarr.codecs._numcodecs.Blosc',
59-
'numcodecs.bz2': 'zarr.codecs._numcodecs.BZ2',
60-
'numcodecs.crc32': 'zarr.codecs._numcodecs.CRC32',
61-
'numcodecs.crc32c': 'zarr.codecs._numcodecs.CRC32C',
62-
'numcodecs.delta': 'zarr.codecs._numcodecs.Delta',
63-
'numcodecs.fixedscaleoffset': 'zarr.codecs._numcodecs.FixedScaleOffset',
64-
'numcodecs.fletcher32': 'zarr.codecs._numcodecs.Fletcher32',
65-
'numcodecs.gZip': 'zarr.codecs._numcodecs.GZip',
66-
'numcodecs.jenkins_lookup3': 'zarr.codecs._numcodecs.JenkinsLookup3',
67-
'numcodecs.lz4': 'zarr.codecs._numcodecs.LZ4',
68-
'numcodecs.lzma': 'zarr.codecs._numcodecs.LZMA',
69-
'numcodecs.packbits': 'zarr.codecs._numcodecs.PackBits',
70-
'numcodecs.pcodec': 'zarr.codecs._numcodecs.PCodec',
71-
'numcodecs.quantize': 'zarr.codecs._numcodecs.Quantize',
72-
'numcodecs.shuffle': 'zarr.codecs._numcodecs.Shuffle',
73-
'numcodecs.zfpy': 'zarr.codecs._numcodecs.ZFPY',
74-
'numcodecs.zlib': 'zarr.codecs._numcodecs.Zlib',
75-
'numcodecs.zstd': 'zarr.codecs._numcodecs.Zstd',
55+
'numcodecs.adler32': 'zarr.codecs.numcodecs.Adler32',
56+
'numcodecs.astype': 'zarr.codecs.numcodecs.AsType',
57+
'numcodecs.bitround': 'zarr.codecs.numcodecs.BitRound',
58+
'numcodecs.blosc': 'zarr.codecs.numcodecs.Blosc',
59+
'numcodecs.bz2': 'zarr.codecs.numcodecs.BZ2',
60+
'numcodecs.crc32': 'zarr.codecs.numcodecs.CRC32',
61+
'numcodecs.crc32c': 'zarr.codecs.numcodecs.CRC32C',
62+
'numcodecs.delta': 'zarr.codecs.numcodecs.Delta',
63+
'numcodecs.fixedscaleoffset': 'zarr.codecs.numcodecs.FixedScaleOffset',
64+
'numcodecs.fletcher32': 'zarr.codecs.numcodecs.Fletcher32',
65+
'numcodecs.gZip': 'zarr.codecs.numcodecs.GZip',
66+
'numcodecs.jenkins_lookup3': 'zarr.codecs.numcodecs.JenkinsLookup3',
67+
'numcodecs.lz4': 'zarr.codecs.numcodecs.LZ4',
68+
'numcodecs.lzma': 'zarr.codecs.numcodecs.LZMA',
69+
'numcodecs.packbits': 'zarr.codecs.numcodecs.PackBits',
70+
'numcodecs.pcodec': 'zarr.codecs.numcodecs.PCodec',
71+
'numcodecs.quantize': 'zarr.codecs.numcodecs.Quantize',
72+
'numcodecs.shuffle': 'zarr.codecs.numcodecs.Shuffle',
73+
'numcodecs.zfpy': 'zarr.codecs.numcodecs.ZFPY',
74+
'numcodecs.zlib': 'zarr.codecs.numcodecs.Zlib',
75+
'numcodecs.zstd': 'zarr.codecs.numcodecs.Zstd',
7676
'sharding_indexed': 'zarr.codecs.sharding.ShardingCodec',
7777
'transpose': 'zarr.codecs.transpose.TransposeCodec',
7878
'vlen-bytes': 'zarr.codecs.vlen_utf8.VLenBytesCodec',

src/zarr/codecs/numcodecs/__init__.py

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,27 +29,33 @@
2929
)
3030
from zarr.registry import register_codec
3131

32-
register_codec("numcodecs.bz2", BZ2)
33-
register_codec("numcodecs.crc32", CRC32)
34-
register_codec("numcodecs.crc32c", CRC32C)
35-
register_codec("numcodecs.lz4", LZ4)
36-
register_codec("numcodecs.lzma", LZMA)
37-
register_codec("numcodecs.zfpy", ZFPY)
38-
register_codec("numcodecs.adler32", Adler32)
39-
register_codec("numcodecs.astype", AsType)
40-
register_codec("numcodecs.bitround", BitRound)
41-
register_codec("numcodecs.blosc", Blosc)
42-
register_codec("numcodecs.delta", Delta)
43-
register_codec("numcodecs.fixedscaleoffset", FixedScaleOffset)
44-
register_codec("numcodecs.fletcher32", Fletcher32)
45-
register_codec("numcodecs.gzip", GZip)
46-
register_codec("numcodecs.jenkins_lookup3", JenkinsLookup3)
47-
register_codec("numcodecs.pcodec", PCodec)
48-
register_codec("numcodecs.packbits", PackBits)
49-
register_codec("numcodecs.quantize", Quantize)
50-
register_codec("numcodecs.shuffle", Shuffle)
51-
register_codec("numcodecs.zlib", Zlib)
52-
register_codec("numcodecs.zstd", Zstd)
32+
register_codec("numcodecs.bz2", BZ2, qualname="zarr.codecs.numcodecs.BZ2")
33+
register_codec("numcodecs.crc32", CRC32, qualname="zarr.codecs.numcodecs.CRC32")
34+
register_codec("numcodecs.crc32c", CRC32C, qualname="zarr.codecs.numcodecs.CRC32C")
35+
register_codec("numcodecs.lz4", LZ4, qualname="zarr.codecs.numcodecs.LZ4")
36+
register_codec("numcodecs.lzma", LZMA, qualname="zarr.codecs.numcodecs.LZMA")
37+
register_codec("numcodecs.zfpy", ZFPY, qualname="zarr.codecs.numcodecs.ZFPY")
38+
register_codec("numcodecs.adler32", Adler32, qualname="zarr.codecs.numcodecs.Adler32")
39+
register_codec("numcodecs.astype", AsType, qualname="zarr.codecs.numcodecs.AsType")
40+
register_codec("numcodecs.bitround", BitRound, qualname="zarr.codecs.numcodecs.BitRound")
41+
register_codec("numcodecs.blosc", Blosc, qualname="zarr.codecs.numcodecs.Blosc")
42+
register_codec("numcodecs.delta", Delta, qualname="zarr.codecs.numcodecs.Delta")
43+
register_codec(
44+
"numcodecs.fixedscaleoffset",
45+
FixedScaleOffset,
46+
qualname="zarr.codecs.numcodecs.FixedScaleOffset",
47+
)
48+
register_codec("numcodecs.fletcher32", Fletcher32, qualname="zarr.codecs.numcodecs.Fletcher32")
49+
register_codec("numcodecs.gzip", GZip, qualname="zarr.codecs.numcodecs.GZip")
50+
register_codec(
51+
"numcodecs.jenkins_lookup3", JenkinsLookup3, qualname="zarr.codecs.numcodecs.JenkinsLookup3"
52+
)
53+
register_codec("numcodecs.pcodec", PCodec, qualname="zarr.codecs.numcodecs.pcodec")
54+
register_codec("numcodecs.packbits", PackBits, qualname="zarr.codecs.numcodecs.PackBits")
55+
register_codec("numcodecs.quantize", Quantize, qualname="zarr.codecs.numcodecs.Quantize")
56+
register_codec("numcodecs.shuffle", Shuffle, qualname="zarr.codecs.numcodecs.Shuffle")
57+
register_codec("numcodecs.zlib", Zlib, qualname="zarr.codecs.numcodecs.Zlib")
58+
register_codec("numcodecs.zstd", Zstd, qualname="zarr.codecs.numcodecs.Zstd")
5359

5460
__all__ = [
5561
"BZ2",

src/zarr/core/config.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -125,27 +125,27 @@ def enable_gpu(self) -> ConfigSet:
125125
"transpose": "zarr.codecs.transpose.TransposeCodec",
126126
"vlen-utf8": "zarr.codecs.vlen_utf8.VLenUTF8Codec",
127127
"vlen-bytes": "zarr.codecs.vlen_utf8.VLenBytesCodec",
128-
"numcodecs.bz2": "zarr.codecs._numcodecs.BZ2",
129-
"numcodecs.crc32": "zarr.codecs._numcodecs.CRC32",
130-
"numcodecs.crc32c": "zarr.codecs._numcodecs.CRC32C",
131-
"numcodecs.lz4": "zarr.codecs._numcodecs.LZ4",
132-
"numcodecs.lzma": "zarr.codecs._numcodecs.LZMA",
133-
"numcodecs.zfpy": "zarr.codecs._numcodecs.ZFPY",
134-
"numcodecs.adler32": "zarr.codecs._numcodecs.Adler32",
135-
"numcodecs.astype": "zarr.codecs._numcodecs.AsType",
136-
"numcodecs.bitround": "zarr.codecs._numcodecs.BitRound",
137-
"numcodecs.blosc": "zarr.codecs._numcodecs.Blosc",
138-
"numcodecs.delta": "zarr.codecs._numcodecs.Delta",
139-
"numcodecs.fixedscaleoffset": "zarr.codecs._numcodecs.FixedScaleOffset",
140-
"numcodecs.fletcher32": "zarr.codecs._numcodecs.Fletcher32",
141-
"numcodecs.gZip": "zarr.codecs._numcodecs.GZip",
142-
"numcodecs.jenkins_lookup3": "zarr.codecs._numcodecs.JenkinsLookup3",
143-
"numcodecs.pcodec": "zarr.codecs._numcodecs.PCodec",
144-
"numcodecs.packbits": "zarr.codecs._numcodecs.PackBits",
145-
"numcodecs.shuffle": "zarr.codecs._numcodecs.Shuffle",
146-
"numcodecs.quantize": "zarr.codecs._numcodecs.Quantize",
147-
"numcodecs.zlib": "zarr.codecs._numcodecs.Zlib",
148-
"numcodecs.zstd": "zarr.codecs._numcodecs.Zstd",
128+
"numcodecs.bz2": "zarr.codecs.numcodecs.BZ2",
129+
"numcodecs.crc32": "zarr.codecs.numcodecs.CRC32",
130+
"numcodecs.crc32c": "zarr.codecs.numcodecs.CRC32C",
131+
"numcodecs.lz4": "zarr.codecs.numcodecs.LZ4",
132+
"numcodecs.lzma": "zarr.codecs.numcodecs.LZMA",
133+
"numcodecs.zfpy": "zarr.codecs.numcodecs.ZFPY",
134+
"numcodecs.adler32": "zarr.codecs.numcodecs.Adler32",
135+
"numcodecs.astype": "zarr.codecs.numcodecs.AsType",
136+
"numcodecs.bitround": "zarr.codecs.numcodecs.BitRound",
137+
"numcodecs.blosc": "zarr.codecs.numcodecs.Blosc",
138+
"numcodecs.delta": "zarr.codecs.numcodecs.Delta",
139+
"numcodecs.fixedscaleoffset": "zarr.codecs.numcodecs.FixedScaleOffset",
140+
"numcodecs.fletcher32": "zarr.codecs.numcodecs.Fletcher32",
141+
"numcodecs.gZip": "zarr.codecs.numcodecs.GZip",
142+
"numcodecs.jenkins_lookup3": "zarr.codecs.numcodecs.JenkinsLookup3",
143+
"numcodecs.pcodec": "zarr.codecs.numcodecs.PCodec",
144+
"numcodecs.packbits": "zarr.codecs.numcodecs.PackBits",
145+
"numcodecs.shuffle": "zarr.codecs.numcodecs.Shuffle",
146+
"numcodecs.quantize": "zarr.codecs.numcodecs.Quantize",
147+
"numcodecs.zlib": "zarr.codecs.numcodecs.Zlib",
148+
"numcodecs.zstd": "zarr.codecs.numcodecs.Zstd",
149149
},
150150
"buffer": "zarr.buffer.cpu.Buffer",
151151
"ndbuffer": "zarr.buffer.cpu.NDBuffer",

src/zarr/registry.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,10 @@ def fully_qualified_name(cls: type) -> str:
126126
return module + "." + cls.__qualname__
127127

128128

129-
def register_codec(key: str, codec_cls: type[Codec]) -> None:
129+
def register_codec(key: str, codec_cls: type[Codec], *, qualname: str | None = None) -> None:
130130
if key not in __codec_registries:
131131
__codec_registries[key] = Registry()
132-
__codec_registries[key].register(codec_cls)
132+
__codec_registries[key].register(codec_cls, qualname=qualname)
133133

134134

135135
def register_pipeline(pipe_cls: type[CodecPipeline]) -> None:

tests/test_codecs/test_numcodecs.py

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,27 @@
2222
def codec_conf() -> Iterator[Any]:
2323
base_conf = config.get("codecs")
2424
new_conf = {
25-
"numcodecs.bz2": "zarr.codecs._numcodecs.BZ2",
26-
"numcodecs.crc32": "zarr.codecs._numcodecs.CRC32",
27-
"numcodecs.crc32c": "zarr.codecs._numcodecs.CRC32C",
28-
"numcodecs.lz4": "zarr.codecs._numcodecs.LZ4",
29-
"numcodecs.lzma": "zarr.codecs._numcodecs.LZMA",
30-
"numcodecs.zfpy": "zarr.codecs._numcodecs.ZFPY",
31-
"numcodecs.adler32": "zarr.codecs._numcodecs.Adler32",
32-
"numcodecs.astype": "zarr.codecs._numcodecs.AsType",
33-
"numcodecs.bitround": "zarr.codecs._numcodecs.BitRound",
34-
"numcodecs.blosc": "zarr.codecs._numcodecs.Blosc",
35-
"numcodecs.delta": "zarr.codecs._numcodecs.Delta",
36-
"numcodecs.fixedscaleoffset": "zarr.codecs._numcodecs.FixedScaleOffset",
37-
"numcodecs.fletcher32": "zarr.codecs._numcodecs.Fletcher32",
38-
"numcodecs.gZip": "zarr.codecs._numcodecs.GZip",
39-
"numcodecs.jenkinslookup3": "zarr.codecs._numcodecs.JenkinsLookup3",
40-
"numcodecs.pcodec": "zarr.codecs._numcodecs.PCodec",
41-
"numcodecs.packbits": "zarr.codecs._numcodecs.PackBits",
42-
"numcodecs.shuffle": "zarr.codecs._numcodecs.Shuffle",
43-
"numcodecs.quantize": "zarr.codecs._numcodecs.Quantize",
44-
"numcodecs.zlib": "zarr.codecs._numcodecs.Zlib",
45-
"numcodecs.zstd": "zarr.codecs._numcodecs.Zstd",
25+
"numcodecs.bz2": "zarr.codecs.numcodecs.BZ2",
26+
"numcodecs.crc32": "zarr.codecs.numcodecs.CRC32",
27+
"numcodecs.crc32c": "zarr.codecs.numcodecs.CRC32C",
28+
"numcodecs.lz4": "zarr.codecs.numcodecs.LZ4",
29+
"numcodecs.lzma": "zarr.codecs.numcodecs.LZMA",
30+
"numcodecs.zfpy": "zarr.codecs.numcodecs.ZFPY",
31+
"numcodecs.adler32": "zarr.codecs.numcodecs.Adler32",
32+
"numcodecs.astype": "zarr.codecs.numcodecs.AsType",
33+
"numcodecs.bitround": "zarr.codecs.numcodecs.BitRound",
34+
"numcodecs.blosc": "zarr.codecs.numcodecs.Blosc",
35+
"numcodecs.delta": "zarr.codecs.numcodecs.Delta",
36+
"numcodecs.fixedscaleoffset": "zarr.codecs.numcodecs.FixedScaleOffset",
37+
"numcodecs.fletcher32": "zarr.codecs.numcodecs.Fletcher32",
38+
"numcodecs.gZip": "zarr.codecs.numcodecs.GZip",
39+
"numcodecs.jenkinslookup3": "zarr.codecs.numcodecs.JenkinsLookup3",
40+
"numcodecs.pcodec": "zarr.codecs.numcodecs.PCodec",
41+
"numcodecs.packbits": "zarr.codecs.numcodecs.PackBits",
42+
"numcodecs.shuffle": "zarr.codecs.numcodecs.Shuffle",
43+
"numcodecs.quantize": "zarr.codecs.numcodecs.Quantize",
44+
"numcodecs.zlib": "zarr.codecs.numcodecs.Zlib",
45+
"numcodecs.zstd": "zarr.codecs.numcodecs.Zstd",
4646
}
4747

4848
yield config.set({"codecs": new_conf | base_conf})
@@ -72,11 +72,19 @@ def test_is_numcodec_cls() -> None:
7272

7373
EXPECTED_WARNING_STR = "Numcodecs codecs are not in the Zarr version 3.*"
7474

75-
ALL_CODECS = [getattr(_numcodecs, cls_name) for cls_name in _numcodecs.__all__]
75+
ALL_CODECS = tuple(
76+
filter(
77+
lambda v: isinstance(v, _numcodecs._NumcodecsCodec),
78+
tuple(getattr(_numcodecs, cls_name) for cls_name in _numcodecs.__all__),
79+
)
80+
)
7681

7782

7883
@pytest.mark.parametrize("codec_class", ALL_CODECS)
7984
def test_docstring(codec_class: type[_numcodecs._NumcodecsCodec]) -> None:
85+
"""
86+
Test that the docstring for the zarr.numcodecs codecs references the wrapped numcodecs class.
87+
"""
8088
assert "See :class:`numcodecs." in codec_class.__doc__ # type: ignore[operator]
8189

8290

tests/test_config.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -73,27 +73,27 @@ def test_config_defaults_set() -> None:
7373
"transpose": "zarr.codecs.transpose.TransposeCodec",
7474
"vlen-utf8": "zarr.codecs.vlen_utf8.VLenUTF8Codec",
7575
"vlen-bytes": "zarr.codecs.vlen_utf8.VLenBytesCodec",
76-
"numcodecs.bz2": "zarr.codecs._numcodecs.BZ2",
77-
"numcodecs.crc32": "zarr.codecs._numcodecs.CRC32",
78-
"numcodecs.crc32c": "zarr.codecs._numcodecs.CRC32C",
79-
"numcodecs.lz4": "zarr.codecs._numcodecs.LZ4",
80-
"numcodecs.lzma": "zarr.codecs._numcodecs.LZMA",
81-
"numcodecs.zfpy": "zarr.codecs._numcodecs.ZFPY",
82-
"numcodecs.adler32": "zarr.codecs._numcodecs.Adler32",
83-
"numcodecs.astype": "zarr.codecs._numcodecs.AsType",
84-
"numcodecs.bitround": "zarr.codecs._numcodecs.BitRound",
85-
"numcodecs.blosc": "zarr.codecs._numcodecs.Blosc",
86-
"numcodecs.delta": "zarr.codecs._numcodecs.Delta",
87-
"numcodecs.fixedscaleoffset": "zarr.codecs._numcodecs.FixedScaleOffset",
88-
"numcodecs.fletcher32": "zarr.codecs._numcodecs.Fletcher32",
89-
"numcodecs.gZip": "zarr.codecs._numcodecs.GZip",
90-
"numcodecs.jenkins_lookup3": "zarr.codecs._numcodecs.JenkinsLookup3",
91-
"numcodecs.pcodec": "zarr.codecs._numcodecs.PCodec",
92-
"numcodecs.packbits": "zarr.codecs._numcodecs.PackBits",
93-
"numcodecs.shuffle": "zarr.codecs._numcodecs.Shuffle",
94-
"numcodecs.quantize": "zarr.codecs._numcodecs.Quantize",
95-
"numcodecs.zlib": "zarr.codecs._numcodecs.Zlib",
96-
"numcodecs.zstd": "zarr.codecs._numcodecs.Zstd",
76+
"numcodecs.bz2": "zarr.codecs.numcodecs.BZ2",
77+
"numcodecs.crc32": "zarr.codecs.numcodecs.CRC32",
78+
"numcodecs.crc32c": "zarr.codecs.numcodecs.CRC32C",
79+
"numcodecs.lz4": "zarr.codecs.numcodecs.LZ4",
80+
"numcodecs.lzma": "zarr.codecs.numcodecs.LZMA",
81+
"numcodecs.zfpy": "zarr.codecs.numcodecs.ZFPY",
82+
"numcodecs.adler32": "zarr.codecs.numcodecs.Adler32",
83+
"numcodecs.astype": "zarr.codecs.numcodecs.AsType",
84+
"numcodecs.bitround": "zarr.codecs.numcodecs.BitRound",
85+
"numcodecs.blosc": "zarr.codecs.numcodecs.Blosc",
86+
"numcodecs.delta": "zarr.codecs.numcodecs.Delta",
87+
"numcodecs.fixedscaleoffset": "zarr.codecs.numcodecs.FixedScaleOffset",
88+
"numcodecs.fletcher32": "zarr.codecs.numcodecs.Fletcher32",
89+
"numcodecs.gZip": "zarr.codecs.numcodecs.GZip",
90+
"numcodecs.jenkins_lookup3": "zarr.codecs.numcodecs.JenkinsLookup3",
91+
"numcodecs.pcodec": "zarr.codecs.numcodecs.PCodec",
92+
"numcodecs.packbits": "zarr.codecs.numcodecs.PackBits",
93+
"numcodecs.shuffle": "zarr.codecs.numcodecs.Shuffle",
94+
"numcodecs.quantize": "zarr.codecs.numcodecs.Quantize",
95+
"numcodecs.zlib": "zarr.codecs.numcodecs.Zlib",
96+
"numcodecs.zstd": "zarr.codecs.numcodecs.Zstd",
9797
},
9898
"buffer": "zarr.buffer.cpu.Buffer",
9999
"ndbuffer": "zarr.buffer.cpu.NDBuffer",

0 commit comments

Comments
 (0)