@@ -55,6 +55,7 @@ def resolve_batched(codec: Codec, chunk_specs: Iterable[ArraySpec]) -> Iterable[
5555 return [codec .resolve_metadata (chunk_spec ) for chunk_spec in chunk_specs ]
5656
5757
58+ # TODO: Double-check whether `CodecDict[Any]` is appropriate
5859@dataclass (frozen = True )
5960class BatchedCodecPipeline (CodecPipeline ):
6061 """Default codec pipeline.
@@ -64,9 +65,9 @@ class BatchedCodecPipeline(CodecPipeline):
6465 lock step for each mini-batch. Multiple mini-batches are processing concurrently.
6566 """
6667
67- array_array_codecs : tuple [ArrayArrayCodec , ...]
68- array_bytes_codec : ArrayBytesCodec
69- bytes_bytes_codecs : tuple [BytesBytesCodec , ...]
68+ array_array_codecs : tuple [ArrayArrayCodec [ Any ] , ...]
69+ array_bytes_codec : ArrayBytesCodec [ Any ]
70+ bytes_bytes_codecs : tuple [BytesBytesCodec [ Any ] , ...]
7071 batch_size : int
7172
7273 def evolve_from_array_spec (self , array_spec : ArraySpec ) -> Self :
@@ -133,11 +134,11 @@ def compute_encoded_size(self, byte_length: int, array_spec: ArraySpec) -> int:
133134 def _codecs_with_resolved_metadata_batched (
134135 self , chunk_specs : Iterable [ArraySpec ]
135136 ) -> tuple [
136- list [tuple [ArrayArrayCodec , list [ArraySpec ]]],
137- tuple [ArrayBytesCodec , list [ArraySpec ]],
138- list [tuple [BytesBytesCodec , list [ArraySpec ]]],
137+ list [tuple [ArrayArrayCodec [ Any ] , list [ArraySpec ]]],
138+ tuple [ArrayBytesCodec [ Any ] , list [ArraySpec ]],
139+ list [tuple [BytesBytesCodec [ Any ] , list [ArraySpec ]]],
139140 ]:
140- aa_codecs_with_spec : list [tuple [ArrayArrayCodec , list [ArraySpec ]]] = []
141+ aa_codecs_with_spec : list [tuple [ArrayArrayCodec [ Any ] , list [ArraySpec ]]] = []
141142 chunk_specs = list (chunk_specs )
142143 for aa_codec in self .array_array_codecs :
143144 aa_codecs_with_spec .append ((aa_codec , chunk_specs ))
@@ -148,7 +149,7 @@ def _codecs_with_resolved_metadata_batched(
148149 self .array_bytes_codec .resolve_metadata (chunk_spec ) for chunk_spec in chunk_specs
149150 ]
150151
151- bb_codecs_with_spec : list [tuple [BytesBytesCodec , list [ArraySpec ]]] = []
152+ bb_codecs_with_spec : list [tuple [BytesBytesCodec [ Any ] , list [ArraySpec ]]] = []
152153 for bb_codec in self .bytes_bytes_codecs :
153154 bb_codecs_with_spec .append ((bb_codec , chunk_specs ))
154155 chunk_specs = [bb_codec .resolve_metadata (chunk_spec ) for chunk_spec in chunk_specs ]
@@ -451,12 +452,14 @@ async def write(
451452
452453def codecs_from_list (
453454 codecs : Iterable [Codec ],
454- ) -> tuple [tuple [ArrayArrayCodec , ...], ArrayBytesCodec , tuple [BytesBytesCodec , ...]]:
455+ ) -> tuple [
456+ tuple [ArrayArrayCodec [Any ], ...], ArrayBytesCodec [Any ], tuple [BytesBytesCodec [Any ], ...]
457+ ]:
455458 from zarr .codecs .sharding import ShardingCodec
456459
457- array_array : tuple [ArrayArrayCodec , ...] = ()
458- array_bytes_maybe : ArrayBytesCodec | None = None
459- bytes_bytes : tuple [BytesBytesCodec , ...] = ()
460+ array_array : tuple [ArrayArrayCodec [ Any ] , ...] = ()
461+ array_bytes_maybe : ArrayBytesCodec [ Any ] | None = None
462+ bytes_bytes : tuple [BytesBytesCodec [ Any ] , ...] = ()
460463
461464 if any (isinstance (codec , ShardingCodec ) for codec in codecs ) and len (tuple (codecs )) > 1 :
462465 warn (
0 commit comments