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__ = [
@@ -334,7 +332,7 @@ async def open(
334332 path : str | None = None ,
335333 storage_options : dict [str , Any ] | None = None ,
336334 ** kwargs : Any , # TODO: type kwargs as valid args to open_array
337- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] | AsyncGroup :
335+ ) -> AnyAsyncArray | AsyncGroup :
338336 """Convenience function to open a group or array using file-mode-like semantics.
339337
340338 Parameters
@@ -592,9 +590,7 @@ async def tree(grp: AsyncGroup, expand: bool | None = None, level: int | None =
592590 return await grp .tree (expand = expand , level = level )
593591
594592
595- async def array (
596- data : npt .ArrayLike | AnyArray , ** kwargs : Any
597- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
593+ async def array (data : npt .ArrayLike | AnyArray , ** kwargs : Any ) -> AnyAsyncArray :
598594 """Create an array filled with `data`.
599595
600596 Parameters
@@ -912,7 +908,7 @@ async def create(
912908 storage_options : dict [str , Any ] | None = None ,
913909 config : ArrayConfigLike | None = None ,
914910 ** kwargs : Any ,
915- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
911+ ) -> AnyAsyncArray :
916912 """Create an array.
917913
918914 Parameters
@@ -1097,9 +1093,7 @@ async def create(
10971093 )
10981094
10991095
1100- async def empty (
1101- shape : tuple [int , ...], ** kwargs : Any
1102- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1096+ async def empty (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
11031097 """Create an empty array with the specified shape. The contents will be filled with the
11041098 specified fill value or zeros if no fill value is provided.
11051099
@@ -1119,9 +1113,7 @@ async def empty(
11191113 return await create (shape = shape , ** kwargs )
11201114
11211115
1122- async def empty_like (
1123- a : ArrayLike , ** kwargs : Any
1124- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1116+ async def empty_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
11251117 """Create an empty array like `a`. The contents will be filled with the
11261118 array's fill value or zeros if no fill value is provided.
11271119
@@ -1150,9 +1142,7 @@ async def empty_like(
11501142
11511143
11521144# TODO: add type annotations for fill_value and kwargs
1153- async def full (
1154- shape : tuple [int , ...], fill_value : Any , ** kwargs : Any
1155- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1145+ async def full (shape : tuple [int , ...], fill_value : Any , ** kwargs : Any ) -> AnyAsyncArray :
11561146 """Create an array, with `fill_value` being used as the default value for
11571147 uninitialized portions of the array.
11581148
@@ -1174,9 +1164,7 @@ async def full(
11741164
11751165
11761166# TODO: add type annotations for kwargs
1177- async def full_like (
1178- a : ArrayLike , ** kwargs : Any
1179- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1167+ async def full_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
11801168 """Create a filled array like `a`.
11811169
11821170 Parameters
@@ -1197,9 +1185,7 @@ async def full_like(
11971185 return await full (** like_kwargs ) # type: ignore[arg-type]
11981186
11991187
1200- async def ones (
1201- shape : tuple [int , ...], ** kwargs : Any
1202- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1188+ async def ones (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
12031189 """Create an array, with one being used as the default value for
12041190 uninitialized portions of the array.
12051191
@@ -1218,9 +1204,7 @@ async def ones(
12181204 return await create (shape = shape , fill_value = 1 , ** kwargs )
12191205
12201206
1221- async def ones_like (
1222- a : ArrayLike , ** kwargs : Any
1223- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1207+ async def ones_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
12241208 """Create an array of ones like `a`.
12251209
12261210 Parameters
@@ -1247,7 +1231,7 @@ async def open_array(
12471231 path : PathLike = "" ,
12481232 storage_options : dict [str , Any ] | None = None ,
12491233 ** kwargs : Any , # TODO: type kwargs as valid args to save
1250- ) -> AsyncArray [ ArrayV2Metadata ] | AsyncArray [ ArrayV3Metadata ] :
1234+ ) -> AnyAsyncArray :
12511235 """Open an array using file-mode-like semantics.
12521236
12531237 Parameters
@@ -1296,9 +1280,7 @@ async def open_array(
12961280 raise ArrayNotFoundError (msg ) from err
12971281
12981282
1299- async def open_like (
1300- a : ArrayLike , path : str , ** kwargs : Any
1301- ) -> AsyncArray [ArrayV3Metadata ] | AsyncArray [ArrayV2Metadata ]:
1283+ async def open_like (a : ArrayLike , path : str , ** kwargs : Any ) -> AnyAsyncArray :
13021284 """Open a persistent array like `a`.
13031285
13041286 Parameters
@@ -1321,9 +1303,7 @@ async def open_like(
13211303 return await open_array (path = path , ** like_kwargs ) # type: ignore[arg-type]
13221304
13231305
1324- async def zeros (
1325- shape : tuple [int , ...], ** kwargs : Any
1326- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1306+ async def zeros (shape : tuple [int , ...], ** kwargs : Any ) -> AnyAsyncArray :
13271307 """Create an array, with zero being used as the default value for
13281308 uninitialized portions of the array.
13291309
@@ -1342,9 +1322,7 @@ async def zeros(
13421322 return await create (shape = shape , fill_value = 0 , ** kwargs )
13431323
13441324
1345- async def zeros_like (
1346- a : ArrayLike , ** kwargs : Any
1347- ) -> AsyncArray [ArrayV2Metadata ] | AsyncArray [ArrayV3Metadata ]:
1325+ async def zeros_like (a : ArrayLike , ** kwargs : Any ) -> AnyAsyncArray :
13481326 """Create an array of zeros like `a`.
13491327
13501328 Parameters
0 commit comments