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__ = [
@@ -334,7 +332,7 @@ async def open(
334
332
path : str | None = None ,
335
333
storage_options : dict [str , Any ] | None = None ,
336
334
** kwargs : Any , # TODO: type kwargs as valid args to open_array
337
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] | AsyncGroup :
335
+ ) -> AnyAsyncArray | AsyncGroup :
338
336
"""Convenience function to open a group or array using file-mode-like semantics.
339
337
340
338
Parameters
@@ -592,9 +590,7 @@ async def tree(grp: AsyncGroup, expand: bool | None = None, level: int | None =
592
590
return await grp .tree (expand = expand , level = level )
593
591
594
592
595
- async def array (
596
- data : npt .ArrayLike | AnyArray , ** kwargs : Any
597
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
593
+ async def array (data : npt .ArrayLike | AnyArray , ** kwargs : Any ) -> AnyAsyncArray :
598
594
"""Create an array filled with `data`.
599
595
600
596
Parameters
@@ -912,7 +908,7 @@ async def create(
912
908
storage_options : dict [str , Any ] | None = None ,
913
909
config : ArrayConfigLike | None = None ,
914
910
** kwargs : Any ,
915
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
911
+ ) -> AnyAsyncArray :
916
912
"""Create an array.
917
913
918
914
Parameters
@@ -1097,9 +1093,7 @@ async def create(
1097
1093
)
1098
1094
1099
1095
1100
- async def empty (
1101
- shape : tuple [int , ...], ** kwargs : Any
1102
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1096
+ async def empty (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1103
1097
"""Create an empty array with the specified shape. The contents will be filled with the
1104
1098
specified fill value or zeros if no fill value is provided.
1105
1099
@@ -1119,9 +1113,7 @@ async def empty(
1119
1113
return await create (shape = shape , ** kwargs )
1120
1114
1121
1115
1122
- async def empty_like (
1123
- a : ArrayLike , ** kwargs : Any
1124
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1116
+ async def empty_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1125
1117
"""Create an empty array like `a`. The contents will be filled with the
1126
1118
array's fill value or zeros if no fill value is provided.
1127
1119
@@ -1150,9 +1142,7 @@ async def empty_like(
1150
1142
1151
1143
1152
1144
# TODO: add type annotations for fill_value and kwargs
1153
- async def full (
1154
- shape : tuple [int , ...], fill_value : Any , ** kwargs : Any
1155
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1145
+ async def full (shape : tuple [int , ...], fill_value : Any , ** kwargs : Any ) -> AnyAsyncArray :
1156
1146
"""Create an array, with `fill_value` being used as the default value for
1157
1147
uninitialized portions of the array.
1158
1148
@@ -1174,9 +1164,7 @@ async def full(
1174
1164
1175
1165
1176
1166
# TODO: add type annotations for kwargs
1177
- async def full_like (
1178
- a : ArrayLike , ** kwargs : Any
1179
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1167
+ async def full_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1180
1168
"""Create a filled array like `a`.
1181
1169
1182
1170
Parameters
@@ -1197,9 +1185,7 @@ async def full_like(
1197
1185
return await full (** like_kwargs ) # type: ignore[arg-type]
1198
1186
1199
1187
1200
- async def ones (
1201
- shape : tuple [int , ...], ** kwargs : Any
1202
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1188
+ async def ones (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1203
1189
"""Create an array, with one being used as the default value for
1204
1190
uninitialized portions of the array.
1205
1191
@@ -1218,9 +1204,7 @@ async def ones(
1218
1204
return await create (shape = shape , fill_value = 1 , ** kwargs )
1219
1205
1220
1206
1221
- async def ones_like (
1222
- a : ArrayLike , ** kwargs : Any
1223
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1207
+ async def ones_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1224
1208
"""Create an array of ones like `a`.
1225
1209
1226
1210
Parameters
@@ -1247,7 +1231,7 @@ async def open_array(
1247
1231
path : PathLike = "" ,
1248
1232
storage_options : dict [str , Any ] | None = None ,
1249
1233
** kwargs : Any , # TODO: type kwargs as valid args to save
1250
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
1234
+ ) -> AnyAsyncArray :
1251
1235
"""Open an array using file-mode-like semantics.
1252
1236
1253
1237
Parameters
@@ -1296,9 +1280,7 @@ async def open_array(
1296
1280
raise ArrayNotFoundError (msg ) from err
1297
1281
1298
1282
1299
- async def open_like (
1300
- a : ArrayLike , path : str , ** kwargs : Any
1301
- ) -> AsyncArray [ArrayV3Metadata ] | AsyncArray [ArrayV2Metadata ]:
1283
+ async def open_like (a : ArrayLike , path : str , ** kwargs : Any ) -> AnyAsyncArray :
1302
1284
"""Open a persistent array like `a`.
1303
1285
1304
1286
Parameters
@@ -1321,9 +1303,7 @@ async def open_like(
1321
1303
return await open_array (path = path , ** like_kwargs ) # type: ignore[arg-type]
1322
1304
1323
1305
1324
- async def zeros (
1325
- shape : tuple [int , ...], ** kwargs : Any
1326
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1306
+ async def zeros (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1327
1307
"""Create an array, with zero being used as the default value for
1328
1308
uninitialized portions of the array.
1329
1309
@@ -1342,9 +1322,7 @@ async def zeros(
1342
1322
return await create (shape = shape , fill_value = 0 , ** kwargs )
1343
1323
1344
1324
1345
- async def zeros_like (
1346
- a : ArrayLike , ** kwargs : Any
1347
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1325
+ async def zeros_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1348
1326
"""Create an array of zeros like `a`.
1349
1327
1350
1328
Parameters
0 commit comments