Zarr 3 codecs#

This module provides the compatibility for numcodecs in Zarr version 3.

A compatibility module is required because the codec handling in Zarr version 3 is different from Zarr version 2.

You can use codecs from numcodecs by constructing codecs from numcodecs.zarr3 using the same parameters as the original codecs.

>>> import zarr
>>> import numcodecs.zarr3
>>>
>>> array = zarr.create_array(
...   store="data.zarr",
...   shape=(1024, 1024),
...   chunks=(64, 64),
...   dtype="uint32",
...   filters=[numcodecs.zarr3.Delta()],
...   compressors=[numcodecs.zarr3.BZ2(level=5)])
>>> array[:] = np.arange(*array.shape).astype(array.dtype)

Note

Please note that the codecs in numcodecs.zarr3 are not part of the Zarr version 3 specification. Using these codecs might cause interoperability issues with other Zarr implementations.

Compressors (bytes-to-bytes codecs)#

class numcodecs.zarr3.Blosc#

See numcodecs.blosc.Blosc for more details and parameters.

codec_name: str = 'numcodecs.blosc'#
class numcodecs.zarr3.LZ4#

See numcodecs.lz4.LZ4 for more details and parameters.

codec_name: str = 'numcodecs.lz4'#
class numcodecs.zarr3.Zstd#

See numcodecs.zstd.Zstd for more details and parameters.

codec_name: str = 'numcodecs.zstd'#
class numcodecs.zarr3.Zlib#

See numcodecs.zlib.Zlib for more details and parameters.

codec_name: str = 'numcodecs.zlib'#
class numcodecs.zarr3.GZip#

See numcodecs.gzip.GZip for more details and parameters.

codec_name: str = 'numcodecs.gzip'#
class numcodecs.zarr3.BZ2#

See numcodecs.bz2.BZ2 for more details and parameters.

codec_name: str = 'numcodecs.bz2'#
class numcodecs.zarr3.LZMA#

See numcodecs.lzma.LZMA for more details and parameters.

codec_name: str = 'numcodecs.lzma'#
class numcodecs.zarr3.Shuffle[source]#

See numcodecs.shuffle.Shuffle for more details and parameters.

codec_name: str = 'numcodecs.shuffle'#

Checksum codecs (bytes-to-bytes codecs)#

Need to be used as compressors in zarr-python.

class numcodecs.zarr3.CRC32#

See numcodecs.checksum32.CRC32 for more details and parameters.

codec_name: str = 'numcodecs.crc32'#
class numcodecs.zarr3.CRC32C#

See numcodecs.checksum32.CRC32C for more details and parameters.

codec_name: str = 'numcodecs.crc32c'#
class numcodecs.zarr3.Adler32#

See numcodecs.checksum32.Adler32 for more details and parameters.

codec_name: str = 'numcodecs.adler32'#
class numcodecs.zarr3.Fletcher32#

See numcodecs.fletcher32.Fletcher32 for more details and parameters.

codec_name: str = 'numcodecs.fletcher32'#
class numcodecs.zarr3.JenkinsLookup3#

See numcodecs.checksum32.JenkinsLookup3 for more details and parameters.

codec_name: str = 'numcodecs.jenkins_lookup3'#

Filters (array-to-array codecs)#

class numcodecs.zarr3.Delta[source]#

See numcodecs.delta.Delta for more details and parameters.

codec_name: str = 'numcodecs.delta'#
class numcodecs.zarr3.BitRound#

See numcodecs.bitround.BitRound for more details and parameters.

codec_name: str = 'numcodecs.bitround'#
class numcodecs.zarr3.FixedScaleOffset[source]#

See numcodecs.fixedscaleoffset.FixedScaleOffset for more details and parameters.

codec_name: str = 'numcodecs.fixedscaleoffset'#
class numcodecs.zarr3.Quantize[source]#

See numcodecs.quantize.Quantize for more details and parameters.

codec_name: str = 'numcodecs.quantize'#
class numcodecs.zarr3.PackBits[source]#

See numcodecs.packbits.PackBits for more details and parameters.

codec_name: str = 'numcodecs.packbits'#
class numcodecs.zarr3.AsType[source]#

See numcodecs.astype.AsType for more details and parameters.

codec_name: str = 'numcodecs.astype'#

Serializers (array-to-bytes codecs)#

class numcodecs.zarr3.PCodec#

See numcodecs.pcodec.PCodec for more details and parameters.

codec_name: str = 'numcodecs.pcodec'#
class numcodecs.zarr3.ZFPY#

See numcodecs.zfpy.ZFPY for more details and parameters.

codec_name: str = 'numcodecs.zfpy'#