Skip to content

Commit c8ec169

Browse files
committed
ChunkMetadata -> ArraySpec
1 parent de4bec9 commit c8ec169

File tree

11 files changed

+63
-63
lines changed

11 files changed

+63
-63
lines changed

zarr/v3/abc/codec.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
if TYPE_CHECKING:
1313
from zarr.v3.metadata import (
14-
ChunkMetadata,
14+
ArraySpec,
1515
ArrayMetadata,
1616
DataType,
1717
CodecMetadata,
@@ -33,10 +33,10 @@ def from_metadata(cls, codec_metadata: CodecMetadata) -> Codec:
3333
pass
3434

3535
@abstractmethod
36-
def compute_encoded_size(self, input_byte_length: int, chunk_metadata: ChunkMetadata) -> int:
36+
def compute_encoded_size(self, input_byte_length: int, chunk_metadata: ArraySpec) -> int:
3737
pass
3838

39-
def resolve_metadata(self, chunk_metadata: ChunkMetadata) -> ChunkMetadata:
39+
def resolve_metadata(self, chunk_metadata: ArraySpec) -> ArraySpec:
4040
return chunk_metadata
4141

4242
def evolve(self, *, ndim: int, data_type: DataType) -> Codec:
@@ -51,7 +51,7 @@ class ArrayArrayCodec(Codec):
5151
async def decode(
5252
self,
5353
chunk_array: np.ndarray,
54-
chunk_metadata: ChunkMetadata,
54+
chunk_metadata: ArraySpec,
5555
runtime_configuration: RuntimeConfiguration,
5656
) -> np.ndarray:
5757
pass
@@ -60,7 +60,7 @@ async def decode(
6060
async def encode(
6161
self,
6262
chunk_array: np.ndarray,
63-
chunk_metadata: ChunkMetadata,
63+
chunk_metadata: ArraySpec,
6464
runtime_configuration: RuntimeConfiguration,
6565
) -> Optional[np.ndarray]:
6666
pass
@@ -71,7 +71,7 @@ class ArrayBytesCodec(Codec):
7171
async def decode(
7272
self,
7373
chunk_array: BytesLike,
74-
chunk_metadata: ChunkMetadata,
74+
chunk_metadata: ArraySpec,
7575
runtime_configuration: RuntimeConfiguration,
7676
) -> np.ndarray:
7777
pass
@@ -80,7 +80,7 @@ async def decode(
8080
async def encode(
8181
self,
8282
chunk_array: np.ndarray,
83-
chunk_metadata: ChunkMetadata,
83+
chunk_metadata: ArraySpec,
8484
runtime_configuration: RuntimeConfiguration,
8585
) -> Optional[BytesLike]:
8686
pass
@@ -92,7 +92,7 @@ async def decode_partial(
9292
self,
9393
store_path: StorePath,
9494
selection: SliceSelection,
95-
chunk_metadata: ChunkMetadata,
95+
chunk_metadata: ArraySpec,
9696
runtime_configuration: RuntimeConfiguration,
9797
) -> Optional[np.ndarray]:
9898
pass
@@ -105,7 +105,7 @@ async def encode_partial(
105105
store_path: StorePath,
106106
chunk_array: np.ndarray,
107107
selection: SliceSelection,
108-
chunk_metadata: ChunkMetadata,
108+
chunk_metadata: ArraySpec,
109109
runtime_configuration: RuntimeConfiguration,
110110
) -> None:
111111
pass
@@ -116,7 +116,7 @@ class BytesBytesCodec(Codec):
116116
async def decode(
117117
self,
118118
chunk_array: BytesLike,
119-
chunk_metadata: ChunkMetadata,
119+
chunk_metadata: ArraySpec,
120120
runtime_configuration: RuntimeConfiguration,
121121
) -> BytesLike:
122122
pass
@@ -125,7 +125,7 @@ async def decode(
125125
async def encode(
126126
self,
127127
chunk_array: BytesLike,
128-
chunk_metadata: ChunkMetadata,
128+
chunk_metadata: ArraySpec,
129129
runtime_configuration: RuntimeConfiguration,
130130
) -> Optional[BytesLike]:
131131
pass

zarr/v3/array.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
from zarr.v3.indexing import BasicIndexer, all_chunk_coords, is_total_slice
3434
from zarr.v3.metadata import (
3535
ArrayMetadata,
36-
ChunkMetadata,
36+
ArraySpec,
3737
DataType,
3838
DefaultChunkKeyEncodingConfigurationMetadata,
3939
DefaultChunkKeyEncodingMetadata,
@@ -381,7 +381,7 @@ async def _write_chunk(
381381
await self._write_chunk_to_store(store_path, chunk_array, chunk_metadata)
382382

383383
async def _write_chunk_to_store(
384-
self, store_path: StorePath, chunk_array: np.ndarray, chunk_metadata: ChunkMetadata
384+
self, store_path: StorePath, chunk_array: np.ndarray, chunk_metadata: ArraySpec
385385
):
386386
if np.all(chunk_array == self.metadata.fill_value):
387387
# chunks that only contain fill_value will be removed

zarr/v3/codecs/__init__.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from zarr.v3.metadata import CodecMetadata, ShardingCodecIndexLocation, RuntimeConfiguration
2121

2222
if TYPE_CHECKING:
23-
from zarr.v3.metadata import ArrayMetadata, ChunkMetadata
23+
from zarr.v3.metadata import ArrayMetadata, ArraySpec
2424
from zarr.v3.codecs.sharding import ShardingCodecMetadata
2525
from zarr.v3.codecs.blosc import BloscCodecMetadata
2626
from zarr.v3.codecs.bytes import BytesCodecMetadata
@@ -31,8 +31,8 @@
3131

3232

3333
def _find_array_bytes_codec(
34-
codecs: Iterable[Tuple[Codec, ChunkMetadata]]
35-
) -> Tuple[ArrayBytesCodec, ChunkMetadata]:
34+
codecs: Iterable[Tuple[Codec, ArraySpec]]
35+
) -> Tuple[ArrayBytesCodec, ArraySpec]:
3636
for codec, chunk_metadata in codecs:
3737
if isinstance(codec, ArrayBytesCodec):
3838
return (codec, chunk_metadata)
@@ -88,16 +88,16 @@ def validate(self, array_metadata: ArrayMetadata) -> None:
8888
)
8989

9090
def _codecs_with_resolved_metadata(
91-
self, chunk_metadata: ChunkMetadata
92-
) -> Iterator[Tuple[Codec, ChunkMetadata]]:
91+
self, chunk_metadata: ArraySpec
92+
) -> Iterator[Tuple[Codec, ArraySpec]]:
9393
for codec in self.codecs:
9494
yield (codec, chunk_metadata)
9595
chunk_metadata = codec.resolve_metadata(chunk_metadata)
9696

9797
async def decode(
9898
self,
9999
chunk_bytes: BytesLike,
100-
chunk_metadata: ChunkMetadata,
100+
chunk_metadata: ArraySpec,
101101
runtime_configuration: RuntimeConfiguration,
102102
) -> np.ndarray:
103103
codecs = list(self._codecs_with_resolved_metadata(chunk_metadata))[::-1]
@@ -122,7 +122,7 @@ async def decode(
122122
async def encode(
123123
self,
124124
chunk_array: np.ndarray,
125-
chunk_metadata: ChunkMetadata,
125+
chunk_metadata: ArraySpec,
126126
runtime_configuration: RuntimeConfiguration,
127127
) -> Optional[BytesLike]:
128128
codecs = list(self._codecs_with_resolved_metadata(chunk_metadata))
@@ -155,7 +155,7 @@ async def encode(
155155

156156
return chunk_bytes
157157

158-
def compute_encoded_size(self, byte_length: int, chunk_metadata: ChunkMetadata) -> int:
158+
def compute_encoded_size(self, byte_length: int, chunk_metadata: ArraySpec) -> int:
159159
for codec in self.codecs:
160160
byte_length = codec.compute_encoded_size(byte_length, chunk_metadata)
161161
chunk_metadata = codec.resolve_metadata(chunk_metadata)

zarr/v3/codecs/blosc.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from zarr.v3.common import BytesLike, to_thread
2020

2121
if TYPE_CHECKING:
22-
from zarr.v3.metadata import ChunkMetadata, CodecMetadata, DataType, RuntimeConfiguration
22+
from zarr.v3.metadata import ArraySpec, CodecMetadata, DataType, RuntimeConfiguration
2323

2424

2525
BloscShuffle = Literal["noshuffle", "shuffle", "bitshuffle"]
@@ -86,21 +86,21 @@ def get_blosc_codec(self) -> Blosc:
8686
async def decode(
8787
self,
8888
chunk_bytes: bytes,
89-
_chunk_metadata: ChunkMetadata,
89+
_chunk_metadata: ArraySpec,
9090
_runtime_configuration: RuntimeConfiguration,
9191
) -> BytesLike:
9292
return await to_thread(self.get_blosc_codec().decode, chunk_bytes)
9393

9494
async def encode(
9595
self,
9696
chunk_bytes: bytes,
97-
chunk_metadata: ChunkMetadata,
97+
chunk_metadata: ArraySpec,
9898
_runtime_configuration: RuntimeConfiguration,
9999
) -> Optional[BytesLike]:
100100
chunk_array = np.frombuffer(chunk_bytes, dtype=chunk_metadata.dtype)
101101
return await to_thread(self.get_blosc_codec().encode, chunk_array)
102102

103-
def compute_encoded_size(self, _input_byte_length: int, _chunk_metadata: ChunkMetadata) -> int:
103+
def compute_encoded_size(self, _input_byte_length: int, _chunk_metadata: ArraySpec) -> int:
104104
raise NotImplementedError
105105

106106

zarr/v3/codecs/bytes.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from zarr.v3.common import BytesLike
1616

1717
if TYPE_CHECKING:
18-
from zarr.v3.metadata import CodecMetadata, ChunkMetadata, ArrayMetadata, RuntimeConfiguration
18+
from zarr.v3.metadata import CodecMetadata, ArraySpec, ArrayMetadata, RuntimeConfiguration
1919

2020

2121
Endian = Literal["big", "little"]
@@ -64,7 +64,7 @@ def _get_byteorder(self, array: np.ndarray) -> Endian:
6464
async def decode(
6565
self,
6666
chunk_bytes: BytesLike,
67-
chunk_metadata: ChunkMetadata,
67+
chunk_metadata: ArraySpec,
6868
_runtime_configuration: RuntimeConfiguration,
6969
) -> np.ndarray:
7070
if chunk_metadata.dtype.itemsize > 0:
@@ -87,7 +87,7 @@ async def decode(
8787
async def encode(
8888
self,
8989
chunk_array: np.ndarray,
90-
_chunk_metadata: ChunkMetadata,
90+
_chunk_metadata: ArraySpec,
9191
_runtime_configuration: RuntimeConfiguration,
9292
) -> Optional[BytesLike]:
9393
if chunk_array.dtype.itemsize > 1:
@@ -97,7 +97,7 @@ async def encode(
9797
chunk_array = chunk_array.astype(new_dtype)
9898
return chunk_array.tobytes()
9999

100-
def compute_encoded_size(self, input_byte_length: int, _chunk_metadata: ChunkMetadata) -> int:
100+
def compute_encoded_size(self, input_byte_length: int, _chunk_metadata: ArraySpec) -> int:
101101
return input_byte_length
102102

103103

zarr/v3/codecs/crc32c_.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from zarr.v3.common import BytesLike
1717

1818
if TYPE_CHECKING:
19-
from zarr.v3.metadata import ChunkMetadata, CodecMetadata, RuntimeConfiguration
19+
from zarr.v3.metadata import ArraySpec, CodecMetadata, RuntimeConfiguration
2020

2121

2222
@frozen
@@ -40,7 +40,7 @@ def get_metadata_class(cls) -> Type[Crc32cCodecMetadata]:
4040
async def decode(
4141
self,
4242
chunk_bytes: bytes,
43-
_chunk_metadata: ChunkMetadata,
43+
_chunk_metadata: ArraySpec,
4444
_runtime_configuration: RuntimeConfiguration,
4545
) -> BytesLike:
4646
crc32_bytes = chunk_bytes[-4:]
@@ -52,12 +52,12 @@ async def decode(
5252
async def encode(
5353
self,
5454
chunk_bytes: bytes,
55-
_chunk_metadata: ChunkMetadata,
55+
_chunk_metadata: ArraySpec,
5656
_runtime_configuration: RuntimeConfiguration,
5757
) -> Optional[BytesLike]:
5858
return chunk_bytes + np.uint32(crc32c(chunk_bytes)).tobytes()
5959

60-
def compute_encoded_size(self, input_byte_length: int, _chunk_metadata: ChunkMetadata) -> int:
60+
def compute_encoded_size(self, input_byte_length: int, _chunk_metadata: ArraySpec) -> int:
6161
return input_byte_length + 4
6262

6363

zarr/v3/codecs/gzip.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from zarr.v3.common import BytesLike, to_thread
1616

1717
if TYPE_CHECKING:
18-
from zarr.v3.metadata import ChunkMetadata, CodecMetadata, RuntimeConfiguration
18+
from zarr.v3.metadata import ArraySpec, CodecMetadata, RuntimeConfiguration
1919

2020

2121
@frozen
@@ -47,23 +47,23 @@ def get_metadata_class(cls) -> Type[GzipCodecMetadata]:
4747
async def decode(
4848
self,
4949
chunk_bytes: bytes,
50-
_chunk_metadata: ChunkMetadata,
50+
_chunk_metadata: ArraySpec,
5151
_runtime_configuration: RuntimeConfiguration,
5252
) -> BytesLike:
5353
return await to_thread(GZip(self.configuration.level).decode, chunk_bytes)
5454

5555
async def encode(
5656
self,
5757
chunk_bytes: bytes,
58-
_chunk_metadata: ChunkMetadata,
58+
_chunk_metadata: ArraySpec,
5959
_runtime_configuration: RuntimeConfiguration,
6060
) -> Optional[BytesLike]:
6161
return await to_thread(GZip(self.configuration.level).encode, chunk_bytes)
6262

6363
def compute_encoded_size(
6464
self,
6565
_input_byte_length: int,
66-
_chunk_metadata: ChunkMetadata,
66+
_chunk_metadata: ArraySpec,
6767
) -> int:
6868
raise NotImplementedError
6969

0 commit comments

Comments
 (0)