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 ,
5757 from zarr .core .buffer import NDArrayLikeOrScalar
5858 from zarr .core .chunk_key_encodings import ChunkKeyEncoding
5959 from zarr .storage import StoreLike
60- from zarr .types import AnyArray
60+ from zarr .types import AnyArray , AnyAsyncArray
6161
6262 # 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 ]
6664 PathLike = str
6765
6866__all__ = [
@@ -314,7 +312,7 @@ async def open(
314312 path : str | None = None ,
315313 storage_options : dict [str , Any ] | None = None ,
316314 ** kwargs : Any , # TODO: type kwargs as valid args to open_array
317- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] | AsyncGroup :
315+ ) -> AnyAsyncArray | AsyncGroup :
318316 """Convenience function to open a group or array using file-mode-like semantics.
319317
320318 Parameters
@@ -571,9 +569,7 @@ async def tree(grp: AsyncGroup, expand: bool | None = None, level: int | None =
571569 return await grp .tree (expand = expand , level = level )
572570
573571
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 :
577573 """Create an array filled with `data`.
578574
579575 Parameters
@@ -905,7 +901,7 @@ async def create(
905901 storage_options : dict [str , Any ] | None = None ,
906902 config : ArrayConfigLike | None = None ,
907903 ** kwargs : Any ,
908- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
904+ ) -> AnyAsyncArray :
909905 """Create an array.
910906
911907 Parameters
@@ -1077,9 +1073,7 @@ async def create(
10771073 )
10781074
10791075
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 :
10831077 """Create an empty array with the specified shape. The contents will be filled with the
10841078 array's fill value or zeros if no fill value is provided.
10851079
@@ -1100,9 +1094,7 @@ async def empty(
11001094 return await create (shape = shape , fill_value = None , ** kwargs )
11011095
11021096
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 :
11061098 """Create an empty array like `a`. The contents will be filled with the
11071099 array's fill value or zeros if no fill value is provided.
11081100
@@ -1129,9 +1121,7 @@ async def empty_like(
11291121
11301122
11311123# 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 :
11351125 """Create an array, with `fill_value` being used as the default value for
11361126 uninitialized portions of the array.
11371127
@@ -1153,9 +1143,7 @@ async def full(
11531143
11541144
11551145# 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 :
11591147 """Create a filled array like `a`.
11601148
11611149 Parameters
@@ -1176,9 +1164,7 @@ async def full_like(
11761164 return await full (** like_kwargs )
11771165
11781166
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 :
11821168 """Create an array, with one being used as the default value for
11831169 uninitialized portions of the array.
11841170
@@ -1197,9 +1183,7 @@ async def ones(
11971183 return await create (shape = shape , fill_value = 1 , ** kwargs )
11981184
11991185
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 :
12031187 """Create an array of ones like `a`.
12041188
12051189 Parameters
@@ -1226,7 +1210,7 @@ async def open_array(
12261210 path : PathLike = "" ,
12271211 storage_options : dict [str , Any ] | None = None ,
12281212 ** kwargs : Any , # TODO: type kwargs as valid args to save
1229- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
1213+ ) -> AnyAsyncArray :
12301214 """Open an array using file-mode-like semantics.
12311215
12321216 Parameters
@@ -1274,9 +1258,7 @@ async def open_array(
12741258 raise ArrayNotFoundError (store_path .store , store_path .path ) from err
12751259
12761260
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 :
12801262 """Open a persistent array like `a`.
12811263
12821264 Parameters
@@ -1299,9 +1281,7 @@ async def open_like(
12991281 return await open_array (path = path , ** like_kwargs )
13001282
13011283
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 :
13051285 """Create an array, with zero being used as the default value for
13061286 uninitialized portions of the array.
13071287
@@ -1320,9 +1300,7 @@ async def zeros(
13201300 return await create (shape = shape , fill_value = 0 , ** kwargs )
13211301
13221302
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 :
13261304 """Create an array of zeros like `a`.
13271305
13281306 Parameters
0 commit comments