@@ -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
110106class _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
155147class _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
175161duckarray = Union [
176162 _arrayfunction [_ShapeType_co , _DType_co ], _arrayapi [_ShapeType_co , _DType_co ]
177163]
164+
165+ # Corresponds to np.typing.NDArray:
178166DuckArray = _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
202185class _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
221200class _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
258237class _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
276251class _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