3838 GroupMetadata ,
3939 create_hierarchy ,
4040)
41- from zarr .core .metadata import ArrayMetadataDict , ArrayV2Metadata , ArrayV3Metadata
41+ from zarr .core .metadata import ArrayMetadataDict , ArrayV2Metadata
4242from zarr .errors import GroupNotFoundError , NodeTypeValidationError
4343from zarr .storage import StorePath
4444from zarr .storage ._common import make_store_path
5252 from zarr .core .buffer import NDArrayLikeOrScalar
5353 from zarr .core .chunk_key_encodings import ChunkKeyEncoding
5454 from zarr .storage import StoreLike
55- from zarr .types import AnyArray
55+ from zarr .types import AnyArray , AnyAsyncArray
5656
5757 # TODO: this type could use some more thought
58- ArrayLike : TypeAlias = (
59- AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ] | AnyArray | npt .NDArray [Any ]
60- )
58+ ArrayLike : TypeAlias = AnyAsyncArray | AnyArray | npt .NDArray [Any ]
6159 PathLike = str
6260
6361__all__ = [
@@ -309,7 +307,7 @@ async def open(
309307 path : str | None = None ,
310308 storage_options : dict [str , Any ] | None = None ,
311309 ** kwargs : Any , # TODO: type kwargs as valid args to open_array
312- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] | AsyncGroup :
310+ ) -> AnyAsyncArray | AsyncGroup :
313311 """Convenience function to open a group or array using file-mode-like semantics.
314312
315313 Parameters
@@ -564,9 +562,7 @@ async def tree(grp: AsyncGroup, expand: bool | None = None, level: int | None =
564562 return await grp .tree (expand = expand , level = level )
565563
566564
567- async def array (
568- data : npt .ArrayLike | AnyArray , ** kwargs : Any
569- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
565+ async def array (data : npt .ArrayLike | AnyArray , ** kwargs : Any ) -> AnyAsyncArray :
570566 """Create an array filled with `data`.
571567
572568 Parameters
@@ -898,7 +894,7 @@ async def create(
898894 storage_options : dict [str , Any ] | None = None ,
899895 config : ArrayConfigLike | None = None ,
900896 ** kwargs : Any ,
901- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
897+ ) -> AnyAsyncArray :
902898 """Create an array.
903899
904900 Parameters
@@ -1070,9 +1066,7 @@ async def create(
10701066 )
10711067
10721068
1073- async def empty (
1074- shape : ChunkCoords , ** kwargs : Any
1075- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1069+ async def empty (shape : ChunkCoords , ** kwargs : Any ) -> AnyAsyncArray :
10761070 """Create an empty array with the specified shape. The contents will be filled with the
10771071 array's fill value or zeros if no fill value is provided.
10781072
@@ -1093,9 +1087,7 @@ async def empty(
10931087 return await create (shape = shape , fill_value = None , ** kwargs )
10941088
10951089
1096- async def empty_like (
1097- a : ArrayLike , ** kwargs : Any
1098- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1090+ async def empty_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
10991091 """Create an empty array like `a`. The contents will be filled with the
11001092 array's fill value or zeros if no fill value is provided.
11011093
@@ -1122,9 +1114,7 @@ async def empty_like(
11221114
11231115
11241116# TODO: add type annotations for fill_value and kwargs
1125- async def full (
1126- shape : ChunkCoords , fill_value : Any , ** kwargs : Any
1127- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1117+ async def full (shape : ChunkCoords , fill_value : Any , ** kwargs : Any ) -> AnyAsyncArray :
11281118 """Create an array, with `fill_value` being used as the default value for
11291119 uninitialized portions of the array.
11301120
@@ -1146,9 +1136,7 @@ async def full(
11461136
11471137
11481138# TODO: add type annotations for kwargs
1149- async def full_like (
1150- a : ArrayLike , ** kwargs : Any
1151- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1139+ async def full_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
11521140 """Create a filled array like `a`.
11531141
11541142 Parameters
@@ -1169,9 +1157,7 @@ async def full_like(
11691157 return await full (** like_kwargs )
11701158
11711159
1172- async def ones (
1173- shape : ChunkCoords , ** kwargs : Any
1174- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1160+ async def ones (shape : ChunkCoords , ** kwargs : Any ) -> AnyAsyncArray :
11751161 """Create an array, with one being used as the default value for
11761162 uninitialized portions of the array.
11771163
@@ -1190,9 +1176,7 @@ async def ones(
11901176 return await create (shape = shape , fill_value = 1 , ** kwargs )
11911177
11921178
1193- async def ones_like (
1194- a : ArrayLike , ** kwargs : Any
1195- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1179+ async def ones_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
11961180 """Create an array of ones like `a`.
11971181
11981182 Parameters
@@ -1219,7 +1203,7 @@ async def open_array(
12191203 path : PathLike = "" ,
12201204 storage_options : dict [str , Any ] | None = None ,
12211205 ** kwargs : Any , # TODO: type kwargs as valid args to save
1222- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
1206+ ) -> AnyAsyncArray :
12231207 """Open an array using file-mode-like semantics.
12241208
12251209 Parameters
@@ -1267,9 +1251,7 @@ async def open_array(
12671251 raise
12681252
12691253
1270- async def open_like (
1271- a : ArrayLike , path : str , ** kwargs : Any
1272- ) -> AsyncArray [ArrayV3Metadata ] | AsyncArray [ArrayV2Metadata ]:
1254+ async def open_like (a : ArrayLike , path : str , ** kwargs : Any ) -> AnyAsyncArray :
12731255 """Open a persistent array like `a`.
12741256
12751257 Parameters
@@ -1292,9 +1274,7 @@ async def open_like(
12921274 return await open_array (path = path , ** like_kwargs )
12931275
12941276
1295- async def zeros (
1296- shape : ChunkCoords , ** kwargs : Any
1297- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1277+ async def zeros (shape : ChunkCoords , ** kwargs : Any ) -> AnyAsyncArray :
12981278 """Create an array, with zero being used as the default value for
12991279 uninitialized portions of the array.
13001280
@@ -1313,9 +1293,7 @@ async def zeros(
13131293 return await create (shape = shape , fill_value = 0 , ** kwargs )
13141294
13151295
1316- async def zeros_like (
1317- a : ArrayLike , ** kwargs : Any
1318- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1296+ async def zeros_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
13191297 """Create an array of zeros like `a`.
13201298
13211299 Parameters
0 commit comments