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 (
4343 GroupNotFoundError ,
4444 NodeTypeValidationError ,
5858 from zarr .core .buffer import NDArrayLikeOrScalar
5959 from zarr .core .chunk_key_encodings import ChunkKeyEncoding
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__ = [
@@ -315,7 +313,7 @@ async def open(
315313 path : str | None = None ,
316314 storage_options : dict [str , Any ] | None = None ,
317315 ** kwargs : Any , # TODO: type kwargs as valid args to open_array
318- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] | AsyncGroup :
316+ ) -> AnyAsyncArray | AsyncGroup :
319317 """Convenience function to open a group or array using file-mode-like semantics.
320318
321319 Parameters
@@ -570,9 +568,7 @@ async def tree(grp: AsyncGroup, expand: bool | None = None, level: int | None =
570568 return await grp .tree (expand = expand , level = level )
571569
572570
573- async def array (
574- data : npt .ArrayLike | AnyArray , ** kwargs : Any
575- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
571+ async def array (data : npt .ArrayLike | AnyArray , ** kwargs : Any ) -> AnyAsyncArray :
576572 """Create an array filled with `data`.
577573
578574 Parameters
@@ -904,7 +900,7 @@ async def create(
904900 storage_options : dict [str , Any ] | None = None ,
905901 config : ArrayConfigLike | None = None ,
906902 ** kwargs : Any ,
907- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
903+ ) -> AnyAsyncArray :
908904 """Create an array.
909905
910906 Parameters
@@ -1076,9 +1072,7 @@ async def create(
10761072 )
10771073
10781074
1079- async def empty (
1080- shape : ChunkCoords , ** kwargs : Any
1081- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1075+ async def empty (shape : ChunkCoords , ** kwargs : Any ) -> AnyAsyncArray :
10821076 """Create an empty array with the specified shape. The contents will be filled with the
10831077 array's fill value or zeros if no fill value is provided.
10841078
@@ -1099,9 +1093,7 @@ async def empty(
10991093 return await create (shape = shape , fill_value = None , ** kwargs )
11001094
11011095
1102- async def empty_like (
1103- a : ArrayLike , ** kwargs : Any
1104- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1096+ async def empty_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
11051097 """Create an empty array like `a`. The contents will be filled with the
11061098 array's fill value or zeros if no fill value is provided.
11071099
@@ -1128,9 +1120,7 @@ async def empty_like(
11281120
11291121
11301122# TODO: add type annotations for fill_value and kwargs
1131- async def full (
1132- shape : ChunkCoords , fill_value : Any , ** kwargs : Any
1133- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1123+ async def full (shape : ChunkCoords , fill_value : Any , ** kwargs : Any ) -> AnyAsyncArray :
11341124 """Create an array, with `fill_value` being used as the default value for
11351125 uninitialized portions of the array.
11361126
@@ -1152,9 +1142,7 @@ async def full(
11521142
11531143
11541144# TODO: add type annotations for kwargs
1155- async def full_like (
1156- a : ArrayLike , ** kwargs : Any
1157- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1145+ async def full_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
11581146 """Create a filled array like `a`.
11591147
11601148 Parameters
@@ -1175,9 +1163,7 @@ async def full_like(
11751163 return await full (** like_kwargs )
11761164
11771165
1178- async def ones (
1179- shape : ChunkCoords , ** kwargs : Any
1180- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1166+ async def ones (shape : ChunkCoords , ** kwargs : Any ) -> AnyAsyncArray :
11811167 """Create an array, with one being used as the default value for
11821168 uninitialized portions of the array.
11831169
@@ -1196,9 +1182,7 @@ async def ones(
11961182 return await create (shape = shape , fill_value = 1 , ** kwargs )
11971183
11981184
1199- async def ones_like (
1200- a : ArrayLike , ** kwargs : Any
1201- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1185+ async def ones_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
12021186 """Create an array of ones like `a`.
12031187
12041188 Parameters
@@ -1225,7 +1209,7 @@ async def open_array(
12251209 path : PathLike = "" ,
12261210 storage_options : dict [str , Any ] | None = None ,
12271211 ** kwargs : Any , # TODO: type kwargs as valid args to save
1228- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
1212+ ) -> AnyAsyncArray :
12291213 """Open an array using file-mode-like semantics.
12301214
12311215 Parameters
@@ -1273,9 +1257,7 @@ async def open_array(
12731257 raise
12741258
12751259
1276- async def open_like (
1277- a : ArrayLike , path : str , ** kwargs : Any
1278- ) -> AsyncArray [ArrayV3Metadata ] | AsyncArray [ArrayV2Metadata ]:
1260+ async def open_like (a : ArrayLike , path : str , ** kwargs : Any ) -> AnyAsyncArray :
12791261 """Open a persistent array like `a`.
12801262
12811263 Parameters
@@ -1298,9 +1280,7 @@ async def open_like(
12981280 return await open_array (path = path , ** like_kwargs )
12991281
13001282
1301- async def zeros (
1302- shape : ChunkCoords , ** kwargs : Any
1303- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1283+ async def zeros (shape : ChunkCoords , ** kwargs : Any ) -> AnyAsyncArray :
13041284 """Create an array, with zero being used as the default value for
13051285 uninitialized portions of the array.
13061286
@@ -1319,9 +1299,7 @@ async def zeros(
13191299 return await create (shape = shape , fill_value = 0 , ** kwargs )
13201300
13211301
1322- async def zeros_like (
1323- a : ArrayLike , ** kwargs : Any
1324- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1302+ async def zeros_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
13251303 """Create an array of zeros like `a`.
13261304
13271305 Parameters
0 commit comments