37
37
GroupMetadata ,
38
38
create_hierarchy ,
39
39
)
40
- from zarr .core .metadata import ArrayMetadataDict , ArrayV2Metadata , ArrayV3Metadata
40
+ from zarr .core .metadata import ArrayMetadataDict , ArrayV2Metadata
41
41
from zarr .errors import (
42
42
ArrayNotFoundError ,
43
43
GroupNotFoundError ,
58
58
from zarr .core .chunk_key_encodings import ChunkKeyEncoding
59
59
from zarr .core .metadata .v2 import CompressorLikev2
60
60
from zarr .storage import StoreLike
61
- from zarr .types import AnyArray
61
+ from zarr .types import AnyArray , AnyAsyncArray
62
62
63
63
# TODO: this type could use some more thought
64
- ArrayLike : TypeAlias = (
65
- AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ] | AnyArray | npt .NDArray [Any ]
66
- )
64
+ ArrayLike : TypeAlias = AnyAsyncArray | AnyArray | npt .NDArray [Any ]
67
65
PathLike = str
68
66
69
67
__all__ = [
@@ -338,7 +336,7 @@ async def open(
338
336
path : str | None = None ,
339
337
storage_options : dict [str , Any ] | None = None ,
340
338
** kwargs : Any , # TODO: type kwargs as valid args to open_array
341
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] | AsyncGroup :
339
+ ) -> AnyAsyncArray | AsyncGroup :
342
340
"""Convenience function to open a group or array using file-mode-like semantics.
343
341
344
342
Parameters
@@ -604,9 +602,7 @@ async def tree(grp: AsyncGroup, expand: bool | None = None, level: int | None =
604
602
return await grp .tree (expand = expand , level = level )
605
603
606
604
607
- async def array (
608
- data : npt .ArrayLike | AnyArray , ** kwargs : Any
609
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
605
+ async def array (data : npt .ArrayLike | AnyArray , ** kwargs : Any ) -> AnyAsyncArray :
610
606
"""Create an array filled with `data`.
611
607
612
608
Parameters
@@ -922,7 +918,7 @@ async def create(
922
918
storage_options : dict [str , Any ] | None = None ,
923
919
config : ArrayConfigLike | None = None ,
924
920
** kwargs : Any ,
925
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
921
+ ) -> AnyAsyncArray :
926
922
"""Create an array.
927
923
928
924
Parameters
@@ -1109,9 +1105,7 @@ async def create(
1109
1105
)
1110
1106
1111
1107
1112
- async def empty (
1113
- shape : tuple [int , ...], ** kwargs : Any
1114
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1108
+ async def empty (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1115
1109
"""Create an empty array with the specified shape. The contents will be filled with the
1116
1110
specified fill value or zeros if no fill value is provided.
1117
1111
@@ -1131,9 +1125,7 @@ async def empty(
1131
1125
return await create (shape = shape , ** kwargs )
1132
1126
1133
1127
1134
- async def empty_like (
1135
- a : ArrayLike , ** kwargs : Any
1136
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1128
+ async def empty_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1137
1129
"""Create an empty array like `a`. The contents will be filled with the
1138
1130
array's fill value or zeros if no fill value is provided.
1139
1131
@@ -1162,9 +1154,7 @@ async def empty_like(
1162
1154
1163
1155
1164
1156
# TODO: add type annotations for fill_value and kwargs
1165
- async def full (
1166
- shape : tuple [int , ...], fill_value : Any , ** kwargs : Any
1167
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1157
+ async def full (shape : tuple [int , ...], fill_value : Any , ** kwargs : Any ) -> AnyAsyncArray :
1168
1158
"""Create an array, with `fill_value` being used as the default value for
1169
1159
uninitialized portions of the array.
1170
1160
@@ -1186,9 +1176,7 @@ async def full(
1186
1176
1187
1177
1188
1178
# TODO: add type annotations for kwargs
1189
- async def full_like (
1190
- a : ArrayLike , ** kwargs : Any
1191
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1179
+ async def full_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1192
1180
"""Create a filled array like `a`.
1193
1181
1194
1182
Parameters
@@ -1209,9 +1197,7 @@ async def full_like(
1209
1197
return await full (** like_kwargs ) # type: ignore[arg-type]
1210
1198
1211
1199
1212
- async def ones (
1213
- shape : tuple [int , ...], ** kwargs : Any
1214
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1200
+ async def ones (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1215
1201
"""Create an array, with one being used as the default value for
1216
1202
uninitialized portions of the array.
1217
1203
@@ -1230,9 +1216,7 @@ async def ones(
1230
1216
return await create (shape = shape , fill_value = 1 , ** kwargs )
1231
1217
1232
1218
1233
- async def ones_like (
1234
- a : ArrayLike , ** kwargs : Any
1235
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1219
+ async def ones_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1236
1220
"""Create an array of ones like `a`.
1237
1221
1238
1222
Parameters
@@ -1259,7 +1243,7 @@ async def open_array(
1259
1243
path : PathLike = "" ,
1260
1244
storage_options : dict [str , Any ] | None = None ,
1261
1245
** kwargs : Any , # TODO: type kwargs as valid args to save
1262
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
1246
+ ) -> AnyAsyncArray :
1263
1247
"""Open an array using file-mode-like semantics.
1264
1248
1265
1249
Parameters
@@ -1310,9 +1294,7 @@ async def open_array(
1310
1294
raise ArrayNotFoundError (msg ) from err
1311
1295
1312
1296
1313
- async def open_like (
1314
- a : ArrayLike , path : str , ** kwargs : Any
1315
- ) -> AsyncArray [ArrayV3Metadata ] | AsyncArray [ArrayV2Metadata ]:
1297
+ async def open_like (a : ArrayLike , path : str , ** kwargs : Any ) -> AnyAsyncArray :
1316
1298
"""Open a persistent array like `a`.
1317
1299
1318
1300
Parameters
@@ -1335,9 +1317,7 @@ async def open_like(
1335
1317
return await open_array (path = path , ** like_kwargs ) # type: ignore[arg-type]
1336
1318
1337
1319
1338
- async def zeros (
1339
- shape : tuple [int , ...], ** kwargs : Any
1340
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1320
+ async def zeros (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1341
1321
"""Create an array, with zero being used as the default value for
1342
1322
uninitialized portions of the array.
1343
1323
@@ -1356,9 +1336,7 @@ async def zeros(
1356
1336
return await create (shape = shape , fill_value = 0 , ** kwargs )
1357
1337
1358
1338
1359
- async def zeros_like (
1360
- a : ArrayLike , ** kwargs : Any
1361
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1339
+ async def zeros_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1362
1340
"""Create an array of zeros like `a`.
1363
1341
1364
1342
Parameters
0 commit comments