@@ -56,6 +56,7 @@ def resolve_batched(codec: Codec, chunk_specs: Iterable[ArraySpec]) -> Iterable[
5656 return [codec .resolve_metadata (chunk_spec ) for chunk_spec in chunk_specs ]
5757
5858
59+ # TODO: Double-check whether `CodecDict[Any]` is appropriate
5960@dataclass (frozen = True )
6061class BatchedCodecPipeline (CodecPipeline ):
6162 """Default codec pipeline.
@@ -65,9 +66,9 @@ class BatchedCodecPipeline(CodecPipeline):
6566 lock step for each mini-batch. Multiple mini-batches are processing concurrently.
6667 """
6768
68- array_array_codecs : tuple [ArrayArrayCodec , ...]
69- array_bytes_codec : ArrayBytesCodec
70- bytes_bytes_codecs : tuple [BytesBytesCodec , ...]
69+ array_array_codecs : tuple [ArrayArrayCodec [ Any ] , ...]
70+ array_bytes_codec : ArrayBytesCodec [ Any ]
71+ bytes_bytes_codecs : tuple [BytesBytesCodec [ Any ] , ...]
7172 batch_size : int
7273
7374 def evolve_from_array_spec (self , array_spec : ArraySpec ) -> Self :
@@ -134,11 +135,11 @@ def compute_encoded_size(self, byte_length: int, array_spec: ArraySpec) -> int:
134135 def _codecs_with_resolved_metadata_batched (
135136 self , chunk_specs : Iterable [ArraySpec ]
136137 ) -> tuple [
137- list [tuple [ArrayArrayCodec , list [ArraySpec ]]],
138- tuple [ArrayBytesCodec , list [ArraySpec ]],
139- list [tuple [BytesBytesCodec , list [ArraySpec ]]],
138+ list [tuple [ArrayArrayCodec [ Any ] , list [ArraySpec ]]],
139+ tuple [ArrayBytesCodec [ Any ] , list [ArraySpec ]],
140+ list [tuple [BytesBytesCodec [ Any ] , list [ArraySpec ]]],
140141 ]:
141- aa_codecs_with_spec : list [tuple [ArrayArrayCodec , list [ArraySpec ]]] = []
142+ aa_codecs_with_spec : list [tuple [ArrayArrayCodec [ Any ] , list [ArraySpec ]]] = []
142143 chunk_specs = list (chunk_specs )
143144 for aa_codec in self .array_array_codecs :
144145 aa_codecs_with_spec .append ((aa_codec , chunk_specs ))
@@ -149,7 +150,7 @@ def _codecs_with_resolved_metadata_batched(
149150 self .array_bytes_codec .resolve_metadata (chunk_spec ) for chunk_spec in chunk_specs
150151 ]
151152
152- bb_codecs_with_spec : list [tuple [BytesBytesCodec , list [ArraySpec ]]] = []
153+ bb_codecs_with_spec : list [tuple [BytesBytesCodec [ Any ] , list [ArraySpec ]]] = []
153154 for bb_codec in self .bytes_bytes_codecs :
154155 bb_codecs_with_spec .append ((bb_codec , chunk_specs ))
155156 chunk_specs = [bb_codec .resolve_metadata (chunk_spec ) for chunk_spec in chunk_specs ]
@@ -465,12 +466,14 @@ async def write(
465466
466467def codecs_from_list (
467468 codecs : Iterable [Codec ],
468- ) -> tuple [tuple [ArrayArrayCodec , ...], ArrayBytesCodec , tuple [BytesBytesCodec , ...]]:
469+ ) -> tuple [
470+ tuple [ArrayArrayCodec [Any ], ...], ArrayBytesCodec [Any ], tuple [BytesBytesCodec [Any ], ...]
471+ ]:
469472 from zarr .codecs .sharding import ShardingCodec
470473
471- array_array : tuple [ArrayArrayCodec , ...] = ()
472- array_bytes_maybe : ArrayBytesCodec | None = None
473- bytes_bytes : tuple [BytesBytesCodec , ...] = ()
474+ array_array : tuple [ArrayArrayCodec [ Any ] , ...] = ()
475+ array_bytes_maybe : ArrayBytesCodec [ Any ] | None = None
476+ bytes_bytes : tuple [BytesBytesCodec [ Any ] , ...] = ()
474477
475478 if any (isinstance (codec , ShardingCodec ) for codec in codecs ) and len (tuple (codecs )) > 1 :
476479 warn (
0 commit comments