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 ,
57
57
from zarr .core .buffer import NDArrayLikeOrScalar
58
58
from zarr .core .chunk_key_encodings import ChunkKeyEncoding
59
59
from zarr .storage import StoreLike
60
- from zarr .types import AnyArray
60
+ from zarr .types import AnyArray , AnyAsyncArray
61
61
62
62
# TODO: this type could use some more thought
63
- ArrayLike : TypeAlias = (
64
- AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ] | AnyArray | npt .NDArray [Any ]
65
- )
63
+ ArrayLike : TypeAlias = AnyAsyncArray | AnyArray | npt .NDArray [Any ]
66
64
PathLike = str
67
65
68
66
__all__ = [
@@ -314,7 +312,7 @@ async def open(
314
312
path : str | None = None ,
315
313
storage_options : dict [str , Any ] | None = None ,
316
314
** kwargs : Any , # TODO: type kwargs as valid args to open_array
317
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] | AsyncGroup :
315
+ ) -> AnyAsyncArray | AsyncGroup :
318
316
"""Convenience function to open a group or array using file-mode-like semantics.
319
317
320
318
Parameters
@@ -571,9 +569,7 @@ async def tree(grp: AsyncGroup, expand: bool | None = None, level: int | None =
571
569
return await grp .tree (expand = expand , level = level )
572
570
573
571
574
- async def array (
575
- data : npt .ArrayLike | AnyArray , ** kwargs : Any
576
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
572
+ async def array (data : npt .ArrayLike | AnyArray , ** kwargs : Any ) -> AnyAsyncArray :
577
573
"""Create an array filled with `data`.
578
574
579
575
Parameters
@@ -905,7 +901,7 @@ async def create(
905
901
storage_options : dict [str , Any ] | None = None ,
906
902
config : ArrayConfigLike | None = None ,
907
903
** kwargs : Any ,
908
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
904
+ ) -> AnyAsyncArray :
909
905
"""Create an array.
910
906
911
907
Parameters
@@ -1077,9 +1073,7 @@ async def create(
1077
1073
)
1078
1074
1079
1075
1080
- async def empty (
1081
- shape : tuple [int , ...], ** kwargs : Any
1082
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1076
+ async def empty (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1083
1077
"""Create an empty array with the specified shape. The contents will be filled with the
1084
1078
array's fill value or zeros if no fill value is provided.
1085
1079
@@ -1100,9 +1094,7 @@ async def empty(
1100
1094
return await create (shape = shape , fill_value = None , ** kwargs )
1101
1095
1102
1096
1103
- async def empty_like (
1104
- a : ArrayLike , ** kwargs : Any
1105
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1097
+ async def empty_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1106
1098
"""Create an empty array like `a`. The contents will be filled with the
1107
1099
array's fill value or zeros if no fill value is provided.
1108
1100
@@ -1129,9 +1121,7 @@ async def empty_like(
1129
1121
1130
1122
1131
1123
# TODO: add type annotations for fill_value and kwargs
1132
- async def full (
1133
- shape : tuple [int , ...], fill_value : Any , ** kwargs : Any
1134
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1124
+ async def full (shape : tuple [int , ...], fill_value : Any , ** kwargs : Any ) -> AnyAsyncArray :
1135
1125
"""Create an array, with `fill_value` being used as the default value for
1136
1126
uninitialized portions of the array.
1137
1127
@@ -1153,9 +1143,7 @@ async def full(
1153
1143
1154
1144
1155
1145
# TODO: add type annotations for kwargs
1156
- async def full_like (
1157
- a : ArrayLike , ** kwargs : Any
1158
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1146
+ async def full_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1159
1147
"""Create a filled array like `a`.
1160
1148
1161
1149
Parameters
@@ -1176,9 +1164,7 @@ async def full_like(
1176
1164
return await full (** like_kwargs )
1177
1165
1178
1166
1179
- async def ones (
1180
- shape : tuple [int , ...], ** kwargs : Any
1181
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1167
+ async def ones (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1182
1168
"""Create an array, with one being used as the default value for
1183
1169
uninitialized portions of the array.
1184
1170
@@ -1197,9 +1183,7 @@ async def ones(
1197
1183
return await create (shape = shape , fill_value = 1 , ** kwargs )
1198
1184
1199
1185
1200
- async def ones_like (
1201
- a : ArrayLike , ** kwargs : Any
1202
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1186
+ async def ones_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1203
1187
"""Create an array of ones like `a`.
1204
1188
1205
1189
Parameters
@@ -1226,7 +1210,7 @@ async def open_array(
1226
1210
path : PathLike = "" ,
1227
1211
storage_options : dict [str , Any ] | None = None ,
1228
1212
** kwargs : Any , # TODO: type kwargs as valid args to save
1229
- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
1213
+ ) -> AnyAsyncArray :
1230
1214
"""Open an array using file-mode-like semantics.
1231
1215
1232
1216
Parameters
@@ -1274,9 +1258,7 @@ async def open_array(
1274
1258
raise ArrayNotFoundError (store_path .store , store_path .path ) from err
1275
1259
1276
1260
1277
- async def open_like (
1278
- a : ArrayLike , path : str , ** kwargs : Any
1279
- ) -> AsyncArray [ArrayV3Metadata ] | AsyncArray [ArrayV2Metadata ]:
1261
+ async def open_like (a : ArrayLike , path : str , ** kwargs : Any ) -> AnyAsyncArray :
1280
1262
"""Open a persistent array like `a`.
1281
1263
1282
1264
Parameters
@@ -1299,9 +1281,7 @@ async def open_like(
1299
1281
return await open_array (path = path , ** like_kwargs )
1300
1282
1301
1283
1302
- async def zeros (
1303
- shape : tuple [int , ...], ** kwargs : Any
1304
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1284
+ async def zeros (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
1305
1285
"""Create an array, with zero being used as the default value for
1306
1286
uninitialized portions of the array.
1307
1287
@@ -1320,9 +1300,7 @@ async def zeros(
1320
1300
return await create (shape = shape , fill_value = 0 , ** kwargs )
1321
1301
1322
1302
1323
- async def zeros_like (
1324
- a : ArrayLike , ** kwargs : Any
1325
- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1303
+ async def zeros_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
1326
1304
"""Create an array of zeros like `a`.
1327
1305
1328
1306
Parameters
0 commit comments