@@ -12,6 +12,7 @@ from typing import (
1212import numpy as np
1313import pandas as pd
1414from pandas import Index
15+ from pandas .core .indexes .extension import ExtensionIndex
1516from pandas .core .series import (
1617 Series ,
1718 TimedeltaSeries ,
@@ -65,7 +66,7 @@ _EdgesTimedelta: TypeAlias = (
6566_TimestampLike : TypeAlias = pd .Timestamp | np .datetime64 | dt .datetime
6667_TimedeltaLike : TypeAlias = pd .Timedelta | np .timedelta64 | dt .timedelta
6768
68- class IntervalIndex (IntervalMixin , Generic [IntervalT ]):
69+ class IntervalIndex (ExtensionIndex , IntervalMixin , Generic [IntervalT ]):
6970 closed : IntervalClosedType
7071
7172 def __new__ (
@@ -248,7 +249,7 @@ class IntervalIndex(IntervalMixin, Generic[IntervalT]):
248249 @property
249250 def length (self ) -> Index : ...
250251 def get_value (self , series : ABCSeries , key ): ...
251- @overload
252+ @overload # type: ignore[override]
252253 def __getitem__ (
253254 self ,
254255 idx : slice
@@ -262,37 +263,37 @@ class IntervalIndex(IntervalMixin, Generic[IntervalT]):
262263 def __getitem__ (self , idx : int ) -> IntervalT : ...
263264 @property
264265 def is_all_dates (self ) -> bool : ...
265- @overload
266+ @overload # type: ignore[override]
266267 def __gt__ (
267268 self , other : IntervalT | IntervalIndex [IntervalT ]
268269 ) -> np_ndarray_bool : ...
269270 @overload
270271 def __gt__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ...
271- @overload
272+ @overload # type: ignore[override]
272273 def __ge__ (
273274 self , other : IntervalT | IntervalIndex [IntervalT ]
274275 ) -> np_ndarray_bool : ...
275276 @overload
276277 def __ge__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ...
277- @overload
278+ @overload # type: ignore[override]
278279 def __le__ (
279280 self , other : IntervalT | IntervalIndex [IntervalT ]
280281 ) -> np_ndarray_bool : ...
281282 @overload
282283 def __le__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ...
283- @overload
284+ @overload # type: ignore[override]
284285 def __lt__ (
285286 self , other : IntervalT | IntervalIndex [IntervalT ]
286287 ) -> np_ndarray_bool : ...
287288 @overload
288- def __lt__ (self , other : pd .Series [IntervalT ]) -> bool : ...
289- @overload
289+ def __lt__ (self , other : pd .Series [IntervalT ]) -> pd . Series [ bool ] : ...
290+ @overload # type: ignore[override]
290291 def __eq__ (self , other : IntervalT | IntervalIndex [IntervalT ]) -> np_ndarray_bool : ... # type: ignore[misc]
291292 @overload
292293 def __eq__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ... # type: ignore[misc]
293294 @overload
294295 def __eq__ (self , other : object ) -> Literal [False ]: ...
295- @overload
296+ @overload # type: ignore[override]
296297 def __ne__ (self , other : IntervalT | IntervalIndex [IntervalT ]) -> np_ndarray_bool : ... # type: ignore[misc]
297298 @overload
298299 def __ne__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ... # type: ignore[misc]
0 commit comments