@@ -84,8 +84,10 @@ def __init_subclass__(cls, *, codec_name: str | None = None, **kwargs):
8484 """To be used only when creating the actual public-facing codec class."""
8585 super ().__init_subclass__ (** kwargs )
8686 if codec_name is not None :
87- cls_name = f"{ CODEC_PREFIX } { codec_name } .{ cls .__name__ } "
88- cls .codec_name = f"{ CODEC_PREFIX } { codec_name } "
87+ namespace = codec_name
88+
89+ cls_name = f"{ CODEC_PREFIX } { namespace } .{ cls .__name__ } "
90+ cls .codec_name = f"{ CODEC_PREFIX } { namespace } "
8991 cls .__doc__ = f"""
9092 See :class:`{ cls_name } ` for more details and parameters.
9193 """
@@ -332,15 +334,30 @@ def evolve_from_array_spec(self, array_spec: ArraySpec) -> AsType:
332334
333335
334336# bytes-to-bytes checksum codecs
335- CRC32 = _add_docstring (_make_checksum_codec ("crc32" , "CRC32" ), "numcodecs.checksum32.CRC32" )
336- CRC32C = _add_docstring (_make_checksum_codec ("crc32c" , "CRC32C" ), "numcodecs.checksum32.CRC32C" )
337- Adler32 = _add_docstring (_make_checksum_codec ("adler32" , "Adler32" ), "numcodecs.checksum32.Adler32" )
338- Fletcher32 = _add_docstring (
339- _make_checksum_codec ("fletcher32" , "Fletcher32" ), "numcodecs.fletcher32.Fletcher32"
340- )
341- JenkinsLookup3 = _add_docstring (
342- _make_checksum_codec ("jenkins_lookup3" , "JenkinsLookup3" ), "numcodecs.checksum32.JenkinsLookup3"
343- )
337+ class _NumcodecsChecksumCodec (_NumcodecsBytesBytesCodec ):
338+ def compute_encoded_size (self , input_byte_length : int , chunk_spec : ArraySpec ) -> int :
339+ return input_byte_length + 4 # pragma: no cover
340+
341+
342+ class CRC32 (_NumcodecsChecksumCodec , codec_name = "crc32" ):
343+ pass
344+
345+
346+ class CRC32C (_NumcodecsChecksumCodec , codec_name = "crc32c" ):
347+ pass
348+
349+
350+ class Adler32 (_NumcodecsChecksumCodec , codec_name = "adler32" ):
351+ pass
352+
353+
354+ class Fletcher32 (_NumcodecsChecksumCodec , codec_name = "fletcher32" ):
355+ pass
356+
357+
358+ class JenkinsLookup3 (_NumcodecsChecksumCodec , codec_name = "jenkins_lookup3" ):
359+ pass
360+
344361
345362# array-to-bytes codecs
346363PCodec = _add_docstring (_make_array_bytes_codec ("pcodec" , "PCodec" ), "numcodecs.pcodec.PCodec" )
0 commit comments