3737 GroupMetadata ,
3838 create_hierarchy ,
3939)
40- from zarr .core .metadata import ArrayMetadataDict , ArrayV2Metadata , ArrayV3Metadata
40+ from zarr .core .metadata import ArrayMetadataDict , ArrayV2Metadata
4141from zarr .errors import (
4242 ArrayNotFoundError ,
4343 GroupNotFoundError ,
5858 from zarr .core .chunk_key_encodings import ChunkKeyEncoding
5959 from zarr .core .metadata .v2 import CompressorLikev2
6060 from zarr .storage import StoreLike
61- from zarr .types import AnyArray
61+ from zarr .types import AnyArray , AnyAsyncArray
6262
6363 # 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 ]
6765 PathLike = str
6866
6967__all__ = [
@@ -338,7 +336,7 @@ async def open(
338336 path : str | None = None ,
339337 storage_options : dict [str , Any ] | None = None ,
340338 ** kwargs : Any , # TODO: type kwargs as valid args to open_array
341- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] | AsyncGroup :
339+ ) -> AnyAsyncArray | AsyncGroup :
342340 """Convenience function to open a group or array using file-mode-like semantics.
343341
344342 Parameters
@@ -604,9 +602,7 @@ async def tree(grp: AsyncGroup, expand: bool | None = None, level: int | None =
604602 return await grp .tree (expand = expand , level = level )
605603
606604
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 :
610606 """Create an array filled with `data`.
611607
612608 Parameters
@@ -922,7 +918,7 @@ async def create(
922918 storage_options : dict [str , Any ] | None = None ,
923919 config : ArrayConfigLike | None = None ,
924920 ** kwargs : Any ,
925- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
921+ ) -> AnyAsyncArray :
926922 """Create an array.
927923
928924 Parameters
@@ -1109,9 +1105,7 @@ async def create(
11091105 )
11101106
11111107
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 :
11151109 """Create an empty array with the specified shape. The contents will be filled with the
11161110 specified fill value or zeros if no fill value is provided.
11171111
@@ -1131,9 +1125,7 @@ async def empty(
11311125 return await create (shape = shape , ** kwargs )
11321126
11331127
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 :
11371129 """Create an empty array like `a`. The contents will be filled with the
11381130 array's fill value or zeros if no fill value is provided.
11391131
@@ -1162,9 +1154,7 @@ async def empty_like(
11621154
11631155
11641156# 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 :
11681158 """Create an array, with `fill_value` being used as the default value for
11691159 uninitialized portions of the array.
11701160
@@ -1186,9 +1176,7 @@ async def full(
11861176
11871177
11881178# 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 :
11921180 """Create a filled array like `a`.
11931181
11941182 Parameters
@@ -1209,9 +1197,7 @@ async def full_like(
12091197 return await full (** like_kwargs ) # type: ignore[arg-type]
12101198
12111199
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 :
12151201 """Create an array, with one being used as the default value for
12161202 uninitialized portions of the array.
12171203
@@ -1230,9 +1216,7 @@ async def ones(
12301216 return await create (shape = shape , fill_value = 1 , ** kwargs )
12311217
12321218
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 :
12361220 """Create an array of ones like `a`.
12371221
12381222 Parameters
@@ -1259,7 +1243,7 @@ async def open_array(
12591243 path : PathLike = "" ,
12601244 storage_options : dict [str , Any ] | None = None ,
12611245 ** kwargs : Any , # TODO: type kwargs as valid args to save
1262- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
1246+ ) -> AnyAsyncArray :
12631247 """Open an array using file-mode-like semantics.
12641248
12651249 Parameters
@@ -1310,9 +1294,7 @@ async def open_array(
13101294 raise ArrayNotFoundError (msg ) from err
13111295
13121296
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 :
13161298 """Open a persistent array like `a`.
13171299
13181300 Parameters
@@ -1335,9 +1317,7 @@ async def open_like(
13351317 return await open_array (path = path , ** like_kwargs ) # type: ignore[arg-type]
13361318
13371319
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 :
13411321 """Create an array, with zero being used as the default value for
13421322 uninitialized portions of the array.
13431323
@@ -1356,9 +1336,7 @@ async def zeros(
13561336 return await create (shape = shape , fill_value = 0 , ** kwargs )
13571337
13581338
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 :
13621340 """Create an array of zeros like `a`.
13631341
13641342 Parameters
0 commit comments