Skip to content

Commit 3be1eb6

Browse files
committed
fix: resolve array parsing bug
1 parent 99967f3 commit 3be1eb6

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/zarr/core/array.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
ChunkGridMetadata,
129129
RectilinearChunkGridMetadata,
130130
RegularChunkGridMetadata,
131+
parse_codecs,
131132
parse_node_type_array,
132133
resolve_chunks,
133134
)
@@ -205,7 +206,10 @@ def _chunk_sizes_from_shape(
205206

206207
def parse_array_metadata(data: object, codec_class_map: Mapping[str, type[Codec]]) -> ArrayMetadata:
207208
if isinstance(data, ArrayV3Metadata):
208-
return type(data).from_dict(data.to_dict(), codec_class_map=codec_class_map)
209+
new_codecs = parse_codecs(
210+
[c.to_dict() for c in data.codecs], codec_class_map=codec_class_map
211+
)
212+
return replace(data, codecs=new_codecs)
209213
elif isinstance(data, ArrayV2Metadata):
210214
# V2 arrays get their codecs from numcodecs, for now. the codec class map is not used.
211215
return data

0 commit comments

Comments
 (0)