@@ -103,10 +103,6 @@ def __array__(self, dtype: _DType, /) -> np.ndarray[Any, _DType]:
103103 ...
104104
105105
106- # Corresponds to np.typing.NDArray:
107- _Array = _array [Any , np .dtype [_ScalarType_co ]]
108-
109-
110106@runtime_checkable
111107class _arrayfunction (
112108 _array [_ShapeType_co , _DType_co ], Protocol [_ShapeType_co , _DType_co ]
@@ -148,10 +144,6 @@ def real(self) -> _arrayfunction[_ShapeType_co, Any]:
148144 ...
149145
150146
151- # Corresponds to np.typing.NDArray:
152- _ArrayFunction = _arrayfunction [Any , np .dtype [_ScalarType_co ]]
153-
154-
155147@runtime_checkable
156148class _arrayapi (_array [_ShapeType_co , _DType_co ], Protocol [_ShapeType_co , _DType_co ]):
157149 """
@@ -164,20 +156,15 @@ def __array_namespace__(self) -> ModuleType:
164156 ...
165157
166158
167- # Corresponds to np.typing.NDArray:
168- _ArrayAPI = _arrayapi [Any , np .dtype [_ScalarType_co ]]
169-
170159# NamedArray can most likely use both __array_function__ and __array_namespace__:
171160_arrayfunction_or_api = (_arrayfunction , _arrayapi )
172- # _ArrayFunctionOrAPI = Union[
173- # _arrayfunction[_ShapeType_co, _DType_co], _arrayapi[_ShapeType_co, _DType_co]
174- # ]
175161
176162duckarray = Union [
177163 _arrayfunction [_ShapeType_co , _DType_co ], _arrayapi [_ShapeType_co , _DType_co ]
178164]
165+
166+ # Corresponds to np.typing.NDArray:
179167DuckArray = _arrayfunction [Any , np .dtype [_ScalarType_co ]]
180- T_DuckArray = TypeVar ("T_DuckArray" , bound = _arrayfunction [Any , Any ])
181168
182169
183170@runtime_checkable
@@ -195,10 +182,6 @@ def chunks(self) -> _Chunks:
195182 ...
196183
197184
198- # Corresponds to np.typing.NDArray:
199- _ChunkedArray = _chunkedarray [Any , np .dtype [_ScalarType_co ]]
200-
201-
202185@runtime_checkable
203186class _chunkedarrayfunction (
204187 _arrayfunction [_ShapeType_co , _DType_co ], Protocol [_ShapeType_co , _DType_co ]
@@ -214,10 +197,6 @@ def chunks(self) -> _Chunks:
214197 ...
215198
216199
217- # Corresponds to np.typing.NDArray:
218- _ChunkedArrayFunction = _chunkedarrayfunction [Any , np .dtype [_ScalarType_co ]]
219-
220-
221200@runtime_checkable
222201class _chunkedarrayapi (
223202 _arrayapi [_ShapeType_co , _DType_co ], Protocol [_ShapeType_co , _DType_co ]
@@ -233,8 +212,12 @@ def chunks(self) -> _Chunks:
233212 ...
234213
235214
236- # Corresponds to np.typing.NDArray:
237- _ChunkedArrayAPI = _chunkedarrayapi [Any , np .dtype [_ScalarType_co ]]
215+ # NamedArray can most likely use both __array_function__ and __array_namespace__:
216+ _chunkedarrayfunction_or_api = (_chunkedarrayfunction , _chunkedarrayapi )
217+ chunkedduckarray = Union [
218+ _chunkedarrayfunction [_ShapeType_co , _DType_co ],
219+ _chunkedarrayapi [_ShapeType_co , _DType_co ],
220+ ]
238221
239222
240223@runtime_checkable
@@ -251,10 +234,6 @@ def todense(self) -> NDArray[_ScalarType_co]:
251234 ...
252235
253236
254- # Corresponds to np.typing.NDArray:
255- _SparseArray = _sparsearray [Any , np .dtype [_ScalarType_co ]]
256-
257-
258237@runtime_checkable
259238class _sparsearrayfunction (
260239 _arrayfunction [_ShapeType_co , _DType_co ], Protocol [_ShapeType_co , _DType_co ]
@@ -269,10 +248,6 @@ def todense(self) -> NDArray[_ScalarType_co]:
269248 ...
270249
271250
272- # Corresponds to np.typing.NDArray:
273- _SparseArrayFunction = _sparsearrayfunction [Any , np .dtype [_ScalarType_co ]]
274-
275-
276251@runtime_checkable
277252class _sparsearrayapi (
278253 _arrayapi [_ShapeType_co , _DType_co ], Protocol [_ShapeType_co , _DType_co ]
@@ -287,22 +262,5 @@ def todense(self) -> NDArray[_ScalarType_co]:
287262 ...
288263
289264
290- # Corresponds to np.typing.NDArray:
291- _SparseArrayAPI = _sparsearrayapi [Any , np .dtype [_ScalarType_co ]]
292-
293265# NamedArray can most likely use both __array_function__ and __array_namespace__:
294266_sparsearrayfunction_or_api = (_sparsearrayfunction , _sparsearrayapi )
295- _SparseArrayFunctionOrAPI = Union [
296- _SparseArrayFunction [np .generic ], _SparseArrayAPI [np .generic ]
297- ]
298-
299-
300- # Temporary placeholder for indicating an array api compliant type.
301- # hopefully in the future we can narrow this down more
302- # T_DuckArray = TypeVar("T_DuckArray", bound=_ArrayFunctionOrAPI)
303-
304- # The chunked arrays like dask or cubed:
305- _ChunkedArrayFunctionOrAPI = Union [
306- _ChunkedArrayFunction [np .generic ], _ChunkedArrayAPI [np .generic ]
307- ]
308- T_ChunkedArray = TypeVar ("T_ChunkedArray" , bound = _ChunkedArrayFunctionOrAPI )
0 commit comments