4242 from xarray .core .indexes import Index
4343 from xarray .core .types import Self
4444 from xarray .core .variable import Variable
45- from xarray .namedarray ._typing import _Shape , duckarray
45+ from xarray .namedarray ._typing import Shape , duckarray
4646 from xarray .namedarray .parallelcompat import ChunkManagerEntrypoint
4747
4848BasicIndexerType = int | np .integer | slice
@@ -730,7 +730,7 @@ def __init__(self, array: Any, key: ExplicitIndexer | None = None):
730730 self .array = as_indexable (array )
731731 self .key = key
732732
733- shape : _Shape = ()
733+ shape : Shape = ()
734734 for size , k in zip (self .array .shape , self .key .tuple , strict = True ):
735735 if isinstance (k , slice ):
736736 shape += (len (range (* k .indices (size ))),)
@@ -754,7 +754,7 @@ def _updated_key(self, new_key: ExplicitIndexer) -> BasicIndexer | OuterIndexer:
754754 return OuterIndexer (full_key_tuple )
755755
756756 @property
757- def shape (self ) -> _Shape :
757+ def shape (self ) -> Shape :
758758 return self ._shape
759759
760760 def get_duck_array (self ):
@@ -836,7 +836,7 @@ def __init__(self, array: duckarray[Any, Any], key: ExplicitIndexer):
836836 self .array = as_indexable (array )
837837
838838 @property
839- def shape (self ) -> _Shape :
839+ def shape (self ) -> Shape :
840840 return np .broadcast (* self .key .tuple ).shape
841841
842842 def get_duck_array (self ):
@@ -1025,7 +1025,7 @@ def as_indexable(array):
10251025
10261026
10271027def _outer_to_vectorized_indexer (
1028- indexer : BasicIndexer | OuterIndexer , shape : _Shape
1028+ indexer : BasicIndexer | OuterIndexer , shape : Shape
10291029) -> VectorizedIndexer :
10301030 """Convert an OuterIndexer into a vectorized indexer.
10311031
@@ -1061,7 +1061,7 @@ def _outer_to_vectorized_indexer(
10611061 return VectorizedIndexer (tuple (new_key ))
10621062
10631063
1064- def _outer_to_numpy_indexer (indexer : BasicIndexer | OuterIndexer , shape : _Shape ):
1064+ def _outer_to_numpy_indexer (indexer : BasicIndexer | OuterIndexer , shape : Shape ):
10651065 """Convert an OuterIndexer into an indexer for NumPy.
10661066
10671067 Parameters
@@ -1085,7 +1085,7 @@ def _outer_to_numpy_indexer(indexer: BasicIndexer | OuterIndexer, shape: _Shape)
10851085 return _outer_to_vectorized_indexer (indexer , shape ).tuple
10861086
10871087
1088- def _combine_indexers (old_key , shape : _Shape , new_key ) -> VectorizedIndexer :
1088+ def _combine_indexers (old_key , shape : Shape , new_key ) -> VectorizedIndexer :
10891089 """Combine two indexers.
10901090
10911091 Parameters
@@ -1127,7 +1127,7 @@ class IndexingSupport(enum.Enum):
11271127
11281128def explicit_indexing_adapter (
11291129 key : ExplicitIndexer ,
1130- shape : _Shape ,
1130+ shape : Shape ,
11311131 indexing_support : IndexingSupport ,
11321132 raw_indexing_method : Callable [..., Any ],
11331133) -> Any :
@@ -1163,7 +1163,7 @@ def explicit_indexing_adapter(
11631163
11641164async def async_explicit_indexing_adapter (
11651165 key : ExplicitIndexer ,
1166- shape : _Shape ,
1166+ shape : Shape ,
11671167 indexing_support : IndexingSupport ,
11681168 raw_indexing_method : Callable [..., Any ],
11691169) -> Any :
@@ -1197,7 +1197,7 @@ def set_with_indexer(indexable, indexer: ExplicitIndexer, value: Any) -> None:
11971197
11981198
11991199def decompose_indexer (
1200- indexer : ExplicitIndexer , shape : _Shape , indexing_support : IndexingSupport
1200+ indexer : ExplicitIndexer , shape : Shape , indexing_support : IndexingSupport
12011201) -> tuple [ExplicitIndexer , ExplicitIndexer ]:
12021202 if isinstance (indexer , VectorizedIndexer ):
12031203 return _decompose_vectorized_indexer (indexer , shape , indexing_support )
@@ -1236,7 +1236,7 @@ def _decompose_slice(key: slice, size: int) -> tuple[slice, slice]:
12361236
12371237def _decompose_vectorized_indexer (
12381238 indexer : VectorizedIndexer ,
1239- shape : _Shape ,
1239+ shape : Shape ,
12401240 indexing_support : IndexingSupport ,
12411241) -> tuple [ExplicitIndexer , ExplicitIndexer ]:
12421242 """
@@ -1318,7 +1318,7 @@ def _decompose_vectorized_indexer(
13181318
13191319def _decompose_outer_indexer (
13201320 indexer : BasicIndexer | OuterIndexer ,
1321- shape : _Shape ,
1321+ shape : Shape ,
13221322 indexing_support : IndexingSupport ,
13231323) -> tuple [ExplicitIndexer , ExplicitIndexer ]:
13241324 """
@@ -1500,7 +1500,7 @@ def _arrayize_outer_indexer(indexer: OuterIndexer, shape) -> OuterIndexer:
15001500
15011501
15021502def _arrayize_vectorized_indexer (
1503- indexer : VectorizedIndexer , shape : _Shape
1503+ indexer : VectorizedIndexer , shape : Shape
15041504) -> VectorizedIndexer :
15051505 """Return an identical vindex but slices are replaced by arrays"""
15061506 slices = [v for v in indexer .tuple if isinstance (v , slice )]
@@ -1564,7 +1564,7 @@ def _masked_result_drop_slice(key, data: duckarray[Any, Any] | None = None):
15641564
15651565
15661566def create_mask (
1567- indexer : ExplicitIndexer , shape : _Shape , data : duckarray [Any , Any ] | None = None
1567+ indexer : ExplicitIndexer , shape : Shape , data : duckarray [Any , Any ] | None = None
15681568):
15691569 """Create a mask for indexing with a fill-value.
15701570
@@ -1975,7 +1975,7 @@ def get_duck_array(self) -> np.ndarray | PandasExtensionArray:
19751975 return np .asarray (self )
19761976
19771977 @property
1978- def shape (self ) -> _Shape :
1978+ def shape (self ) -> Shape :
19791979 return (len (self .array ),)
19801980
19811981 def _convert_scalar (self , item ) -> np .ndarray :
0 commit comments