Skip to content

Commit 046c174

Browse files
authored
Add BaseCodec to the docs (#2290)
1 parent 01346dd commit 046c174

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/zarr/abc/codec.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from zarr.core.indexing import SelectorTuple
2121

2222
__all__ = [
23+
"BaseCodec",
2324
"ArrayArrayCodec",
2425
"ArrayBytesCodec",
2526
"ArrayBytesCodecPartialDecodeMixin",
@@ -34,11 +35,15 @@
3435
CodecOutput = TypeVar("CodecOutput", bound=NDBuffer | Buffer)
3536

3637

37-
class _Codec(Metadata, Generic[CodecInput, CodecOutput]):
38+
class BaseCodec(Metadata, Generic[CodecInput, CodecOutput]):
3839
"""Generic base class for codecs.
39-
Please use ArrayArrayCodec, ArrayBytesCodec or BytesBytesCodec for subclassing.
4040
4141
Codecs can be registered via zarr.codecs.registry.
42+
43+
Warnings
44+
--------
45+
This class is not intended to be directly, please use
46+
ArrayArrayCodec, ArrayBytesCodec or BytesBytesCodec for subclassing.
4247
"""
4348

4449
is_fixed_size: bool
@@ -148,19 +153,19 @@ async def encode(
148153
return await _batching_helper(self._encode_single, chunks_and_specs)
149154

150155

151-
class ArrayArrayCodec(_Codec[NDBuffer, NDBuffer]):
156+
class ArrayArrayCodec(BaseCodec[NDBuffer, NDBuffer]):
152157
"""Base class for array-to-array codecs."""
153158

154159
...
155160

156161

157-
class ArrayBytesCodec(_Codec[NDBuffer, Buffer]):
162+
class ArrayBytesCodec(BaseCodec[NDBuffer, Buffer]):
158163
"""Base class for array-to-bytes codecs."""
159164

160165
...
161166

162167

163-
class BytesBytesCodec(_Codec[Buffer, Buffer]):
168+
class BytesBytesCodec(BaseCodec[Buffer, Buffer]):
164169
"""Base class for bytes-to-bytes codecs."""
165170

166171
...

0 commit comments

Comments
 (0)