Skip to content

Commit ed4698c

Browse files
committed
more typing updates
1 parent 8c6e896 commit ed4698c

File tree

4 files changed

+17
-11
lines changed

4 files changed

+17
-11
lines changed

xarray/namedarray/daskmanager.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
if TYPE_CHECKING:
1414
from xarray.core.types import DaskArray, T_Chunks, T_NormalizedChunks
15+
from xarray.namedarray._typing import duckarray
1516

1617

1718
dask_available = module_available("dask")
@@ -28,7 +29,7 @@ def __init__(self) -> None:
2829

2930
self.array_cls = Array
3031

31-
def is_chunked_array(self, data: Any) -> bool:
32+
def is_chunked_array(self, data: duckarray[Any, Any]) -> bool:
3233
return is_duck_dask_array(data)
3334

3435
def chunks(self, data: DaskArray) -> T_NormalizedChunks:

xarray/namedarray/parallelcompat.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@
1717
from xarray.namedarray.pycompat import is_chunked_array
1818

1919
if TYPE_CHECKING:
20-
from xarray.namedarray._typing import T_DuckArray, _Chunks, _NormalizedChunks
20+
from xarray.namedarray._typing import (
21+
_Chunks,
22+
_NormalizedChunks,
23+
duckarray,
24+
)
2125

2226
T_ChunkedArray = TypeVar("T_ChunkedArray")
2327

@@ -168,7 +172,7 @@ def __init__(self) -> None:
168172
"""Used to set the array_cls attribute at import time."""
169173
raise NotImplementedError()
170174

171-
def is_chunked_array(self, data: Any) -> bool:
175+
def is_chunked_array(self, data: duckarray[Any, Any]) -> bool:
172176
"""
173177
Check if the given object is an instance of this type of chunked array.
174178
@@ -251,7 +255,7 @@ def normalize_chunks(
251255

252256
@abstractmethod
253257
def from_array(
254-
self, data: T_DuckArray | np.typing.ArrayLike, chunks: _Chunks, **kwargs
258+
self, data: duckarray[Any, Any], chunks: _Chunks, **kwargs
255259
) -> T_ChunkedArray:
256260
"""
257261
Create a chunked array from a non-chunked numpy-like array.

xarray/namedarray/pycompat.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
if TYPE_CHECKING:
1717
ModType = Literal["dask", "pint", "cupy", "sparse", "cubed"]
1818
DuckArrayTypes = tuple[type[Any], ...] # TODO: improve this? maybe Generic
19+
from xarray.namedarray._typing import _DType, _ShapeType, duckarray
1920

2021

2122
class DuckArrayModule:
@@ -91,11 +92,11 @@ def is_chunked_array(x) -> bool:
9192
)
9293

9394

94-
def is_0d_dask_array(x):
95+
def is_0d_dask_array(x) -> bool:
9596
return is_duck_dask_array(x) and is_scalar(x)
9697

9798

98-
def to_numpy(data) -> np.ndarray:
99+
def to_numpy(data) -> np.ndarray[_ShapeType, _DType]:
99100
from xarray.core.indexing import ExplicitlyIndexed
100101
from xarray.namedarray.parallelcompat import get_chunked_array_type
101102

@@ -118,7 +119,7 @@ def to_numpy(data) -> np.ndarray:
118119
return data
119120

120121

121-
def to_duck_array(data):
122+
def to_duck_array(data) -> duckarray[_ShapeType, _DType]:
122123
from xarray.core.indexing import ExplicitlyIndexed
123124

124125
if isinstance(data, ExplicitlyIndexed):

xarray/namedarray/utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ def either_dict_or_kwargs(
129129

130130

131131
def consolidate_dask_from_array_kwargs(
132-
from_array_kwargs: dict,
132+
from_array_kwargs: dict[Any, Any],
133133
name: str | None = None,
134134
lock: bool | None = None,
135135
inline_array: bool | None = None,
136-
) -> dict:
136+
) -> dict[Any, Any]:
137137
"""
138138
Merge dask-specific kwargs with arbitrary from_array_kwargs dict.
139139
@@ -166,12 +166,12 @@ def consolidate_dask_from_array_kwargs(
166166

167167

168168
def _resolve_doubly_passed_kwarg(
169-
kwargs_dict: dict,
169+
kwargs_dict: dict[Any, Any],
170170
kwarg_name: str,
171171
passed_kwarg_value: str | bool | None,
172172
default: bool | None,
173173
err_msg_dict_name: str,
174-
) -> dict:
174+
) -> dict[Any, Any]:
175175
# if in kwargs_dict but not passed explicitly then just pass kwargs_dict through unaltered
176176
if kwarg_name in kwargs_dict and passed_kwarg_value is None:
177177
pass

0 commit comments

Comments
 (0)