Skip to content

Commit 223ae65

Browse files
committed
make zarr.codecs.numcodecs
1 parent 233fbbf commit 223ae65

3 files changed

Lines changed: 88 additions & 57 deletions

File tree

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
from __future__ import annotations
2+
3+
from zarr.codecs.numcodecs._codecs import (
4+
BZ2,
5+
CRC32,
6+
CRC32C,
7+
LZ4,
8+
LZMA,
9+
ZFPY,
10+
Adler32,
11+
AsType,
12+
BitRound,
13+
Blosc,
14+
Delta,
15+
FixedScaleOffset,
16+
Fletcher32,
17+
GZip,
18+
JenkinsLookup3,
19+
PackBits,
20+
PCodec,
21+
Quantize,
22+
Shuffle,
23+
Zlib,
24+
Zstd,
25+
_NumcodecsArrayArrayCodec,
26+
_NumcodecsArrayBytesCodec,
27+
_NumcodecsBytesBytesCodec,
28+
_NumcodecsCodec,
29+
)
30+
from zarr.registry import register_codec
31+
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)
53+
54+
__all__ = [
55+
"BZ2",
56+
"CRC32",
57+
"CRC32C",
58+
"LZ4",
59+
"LZMA",
60+
"ZFPY",
61+
"Adler32",
62+
"AsType",
63+
"BitRound",
64+
"Blosc",
65+
"Delta",
66+
"FixedScaleOffset",
67+
"Fletcher32",
68+
"GZip",
69+
"JenkinsLookup3",
70+
"PCodec",
71+
"PackBits",
72+
"Quantize",
73+
"Shuffle",
74+
"Zlib",
75+
"Zstd",
76+
"_NumcodecsArrayArrayCodec",
77+
"_NumcodecsArrayBytesCodec",
78+
"_NumcodecsBytesBytesCodec",
79+
"_NumcodecsCodec",
80+
]
Lines changed: 7 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
"""
2-
This module provides the compatibility for :py:mod:`numcodecs` in Zarr version 3.
2+
This module provides compatibility for :py:mod:`numcodecs` in Zarr version 3.
33
4-
A compatibility module is required because the codec handling in Zarr version 3 is different from Zarr version 2.
5-
6-
You can use codecs from :py:mod:`numcodecs` by constructing codecs from :py:mod:`numcodecs.zarr3` using the same parameters as the original codecs.
4+
These codecs were previously defined in :py:mod:`numcodecs`, and have now been moved to `zarr`.
75
86
>>> import zarr
9-
>>> import numcodecs.zarr3
7+
>>> import zarr.codecs.numcodecs as numcodecs
108
>>>
119
>>> array = zarr.create_array(
1210
... store="data.zarr",
@@ -19,8 +17,9 @@
1917
2018
.. note::
2119
22-
Please note that the codecs in :py:mod:`numcodecs.zarr3` are not part of the Zarr version 3 specification.
23-
Using these codecs might cause interoperability issues with other Zarr implementations.
20+
Please note that the codecs in :py:mod:`zarr.codecs.numcodecs` are not part of the Zarr version
21+
3 specification. Using these codecs might cause interoperability issues with other Zarr
22+
implementations.
2423
"""
2524

2625
from __future__ import annotations
@@ -40,7 +39,7 @@
4039
from zarr.core.common import JSON, parse_named_configuration, product
4140
from zarr.dtype import UInt8, ZDType, parse_dtype
4241
from zarr.errors import ZarrUserWarning
43-
from zarr.registry import get_numcodec, register_codec
42+
from zarr.registry import get_numcodec
4443

4544
if TYPE_CHECKING:
4645
from zarr.abc.numcodec import Numcodec
@@ -324,51 +323,3 @@ class PCodec(_NumcodecsArrayBytesCodec, codec_name="pcodec"):
324323

325324
class ZFPY(_NumcodecsArrayBytesCodec, codec_name="zfpy"):
326325
pass
327-
328-
329-
# TODO: move the codec registration outside this module
330-
register_codec("numcodecs.bz2", BZ2)
331-
register_codec("numcodecs.crc32", CRC32)
332-
register_codec("numcodecs.crc32c", CRC32C)
333-
register_codec("numcodecs.lz4", LZ4)
334-
register_codec("numcodecs.lzma", LZMA)
335-
register_codec("numcodecs.zfpy", ZFPY)
336-
register_codec("numcodecs.adler32", Adler32)
337-
register_codec("numcodecs.astype", AsType)
338-
register_codec("numcodecs.bitround", BitRound)
339-
register_codec("numcodecs.blosc", Blosc)
340-
register_codec("numcodecs.delta", Delta)
341-
register_codec("numcodecs.fixedscaleoffset", FixedScaleOffset)
342-
register_codec("numcodecs.fletcher32", Fletcher32)
343-
register_codec("numcodecs.gzip", GZip)
344-
register_codec("numcodecs.jenkins_lookup3", JenkinsLookup3)
345-
register_codec("numcodecs.pcodec", PCodec)
346-
register_codec("numcodecs.packbits", PackBits)
347-
register_codec("numcodecs.quantize", Quantize)
348-
register_codec("numcodecs.shuffle", Shuffle)
349-
register_codec("numcodecs.zlib", Zlib)
350-
register_codec("numcodecs.zstd", Zstd)
351-
352-
__all__ = [
353-
"BZ2",
354-
"CRC32",
355-
"CRC32C",
356-
"LZ4",
357-
"LZMA",
358-
"ZFPY",
359-
"Adler32",
360-
"AsType",
361-
"BitRound",
362-
"Blosc",
363-
"Delta",
364-
"FixedScaleOffset",
365-
"Fletcher32",
366-
"GZip",
367-
"JenkinsLookup3",
368-
"PCodec",
369-
"PackBits",
370-
"Quantize",
371-
"Shuffle",
372-
"Zlib",
373-
"Zstd",
374-
]

tests/test_codecs/test_numcodecs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
from zarr import config, create_array, open_array
1212
from zarr.abc.numcodec import _is_numcodec, _is_numcodec_cls
13-
from zarr.codecs import _numcodecs
13+
from zarr.codecs import numcodecs as _numcodecs
1414
from zarr.errors import ZarrUserWarning
1515
from zarr.registry import get_numcodec
1616

0 commit comments

Comments
 (0)