Skip to content

Commit 043b3dc

Browse files
authored
Add chunkedduckarray to _typing (#8376)
1 parent 70c4ee7 commit 043b3dc

File tree

1 file changed

+8
-50
lines changed

1 file changed

+8
-50
lines changed

xarray/namedarray/_typing.py

Lines changed: 8 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,6 @@ def __array__(self, dtype: _DType, /) -> np.ndarray[Any, _DType]:
102102
...
103103

104104

105-
# Corresponds to np.typing.NDArray:
106-
_Array = _array[Any, np.dtype[_ScalarType_co]]
107-
108-
109105
@runtime_checkable
110106
class _arrayfunction(
111107
_array[_ShapeType_co, _DType_co], Protocol[_ShapeType_co, _DType_co]
@@ -147,10 +143,6 @@ def real(self) -> _arrayfunction[_ShapeType_co, Any]:
147143
...
148144

149145

150-
# Corresponds to np.typing.NDArray:
151-
_ArrayFunction = _arrayfunction[Any, np.dtype[_ScalarType_co]]
152-
153-
154146
@runtime_checkable
155147
class _arrayapi(_array[_ShapeType_co, _DType_co], Protocol[_ShapeType_co, _DType_co]):
156148
"""
@@ -163,20 +155,15 @@ def __array_namespace__(self) -> ModuleType:
163155
...
164156

165157

166-
# Corresponds to np.typing.NDArray:
167-
_ArrayAPI = _arrayapi[Any, np.dtype[_ScalarType_co]]
168-
169158
# NamedArray can most likely use both __array_function__ and __array_namespace__:
170159
_arrayfunction_or_api = (_arrayfunction, _arrayapi)
171-
# _ArrayFunctionOrAPI = Union[
172-
# _arrayfunction[_ShapeType_co, _DType_co], _arrayapi[_ShapeType_co, _DType_co]
173-
# ]
174160

175161
duckarray = Union[
176162
_arrayfunction[_ShapeType_co, _DType_co], _arrayapi[_ShapeType_co, _DType_co]
177163
]
164+
165+
# Corresponds to np.typing.NDArray:
178166
DuckArray = _arrayfunction[Any, np.dtype[_ScalarType_co]]
179-
T_DuckArray = TypeVar("T_DuckArray", bound=_arrayfunction[Any, Any])
180167

181168

182169
@runtime_checkable
@@ -194,10 +181,6 @@ def chunks(self) -> _Chunks:
194181
...
195182

196183

197-
# Corresponds to np.typing.NDArray:
198-
_ChunkedArray = _chunkedarray[Any, np.dtype[_ScalarType_co]]
199-
200-
201184
@runtime_checkable
202185
class _chunkedarrayfunction(
203186
_arrayfunction[_ShapeType_co, _DType_co], Protocol[_ShapeType_co, _DType_co]
@@ -213,10 +196,6 @@ def chunks(self) -> _Chunks:
213196
...
214197

215198

216-
# Corresponds to np.typing.NDArray:
217-
_ChunkedArrayFunction = _chunkedarrayfunction[Any, np.dtype[_ScalarType_co]]
218-
219-
220199
@runtime_checkable
221200
class _chunkedarrayapi(
222201
_arrayapi[_ShapeType_co, _DType_co], Protocol[_ShapeType_co, _DType_co]
@@ -232,8 +211,12 @@ def chunks(self) -> _Chunks:
232211
...
233212

234213

235-
# Corresponds to np.typing.NDArray:
236-
_ChunkedArrayAPI = _chunkedarrayapi[Any, np.dtype[_ScalarType_co]]
214+
# NamedArray can most likely use both __array_function__ and __array_namespace__:
215+
_chunkedarrayfunction_or_api = (_chunkedarrayfunction, _chunkedarrayapi)
216+
chunkedduckarray = Union[
217+
_chunkedarrayfunction[_ShapeType_co, _DType_co],
218+
_chunkedarrayapi[_ShapeType_co, _DType_co],
219+
]
237220

238221

239222
@runtime_checkable
@@ -250,10 +233,6 @@ def todense(self) -> NDArray[_ScalarType_co]:
250233
...
251234

252235

253-
# Corresponds to np.typing.NDArray:
254-
_SparseArray = _sparsearray[Any, np.dtype[_ScalarType_co]]
255-
256-
257236
@runtime_checkable
258237
class _sparsearrayfunction(
259238
_arrayfunction[_ShapeType_co, _DType_co], Protocol[_ShapeType_co, _DType_co]
@@ -268,10 +247,6 @@ def todense(self) -> NDArray[_ScalarType_co]:
268247
...
269248

270249

271-
# Corresponds to np.typing.NDArray:
272-
_SparseArrayFunction = _sparsearrayfunction[Any, np.dtype[_ScalarType_co]]
273-
274-
275250
@runtime_checkable
276251
class _sparsearrayapi(
277252
_arrayapi[_ShapeType_co, _DType_co], Protocol[_ShapeType_co, _DType_co]
@@ -286,22 +261,5 @@ def todense(self) -> NDArray[_ScalarType_co]:
286261
...
287262

288263

289-
# Corresponds to np.typing.NDArray:
290-
_SparseArrayAPI = _sparsearrayapi[Any, np.dtype[_ScalarType_co]]
291-
292264
# NamedArray can most likely use both __array_function__ and __array_namespace__:
293265
_sparsearrayfunction_or_api = (_sparsearrayfunction, _sparsearrayapi)
294-
_SparseArrayFunctionOrAPI = Union[
295-
_SparseArrayFunction[np.generic], _SparseArrayAPI[np.generic]
296-
]
297-
298-
299-
# Temporary placeholder for indicating an array api compliant type.
300-
# hopefully in the future we can narrow this down more
301-
# T_DuckArray = TypeVar("T_DuckArray", bound=_ArrayFunctionOrAPI)
302-
303-
# The chunked arrays like dask or cubed:
304-
_ChunkedArrayFunctionOrAPI = Union[
305-
_ChunkedArrayFunction[np.generic], _ChunkedArrayAPI[np.generic]
306-
]
307-
T_ChunkedArray = TypeVar("T_ChunkedArray", bound=_ChunkedArrayFunctionOrAPI)

0 commit comments

Comments
 (0)