@@ -12,6 +12,7 @@ from typing import (
12
12
import numpy as np
13
13
import pandas as pd
14
14
from pandas import Index
15
+ from pandas .core .indexes .extension import ExtensionIndex
15
16
from pandas .core .series import (
16
17
Series ,
17
18
TimedeltaSeries ,
@@ -65,7 +66,7 @@ _EdgesTimedelta: TypeAlias = (
65
66
_TimestampLike : TypeAlias = pd .Timestamp | np .datetime64 | dt .datetime
66
67
_TimedeltaLike : TypeAlias = pd .Timedelta | np .timedelta64 | dt .timedelta
67
68
68
- class IntervalIndex (IntervalMixin , Generic [IntervalT ]):
69
+ class IntervalIndex (ExtensionIndex , IntervalMixin , Generic [IntervalT ]):
69
70
closed : IntervalClosedType
70
71
71
72
def __new__ (
@@ -248,7 +249,7 @@ class IntervalIndex(IntervalMixin, Generic[IntervalT]):
248
249
@property
249
250
def length (self ) -> Index : ...
250
251
def get_value (self , series : ABCSeries , key ): ...
251
- @overload
252
+ @overload # type: ignore[override]
252
253
def __getitem__ (
253
254
self ,
254
255
idx : slice
@@ -262,37 +263,37 @@ class IntervalIndex(IntervalMixin, Generic[IntervalT]):
262
263
def __getitem__ (self , idx : int ) -> IntervalT : ...
263
264
@property
264
265
def is_all_dates (self ) -> bool : ...
265
- @overload
266
+ @overload # type: ignore[override]
266
267
def __gt__ (
267
268
self , other : IntervalT | IntervalIndex [IntervalT ]
268
269
) -> np_ndarray_bool : ...
269
270
@overload
270
271
def __gt__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ...
271
- @overload
272
+ @overload # type: ignore[override]
272
273
def __ge__ (
273
274
self , other : IntervalT | IntervalIndex [IntervalT ]
274
275
) -> np_ndarray_bool : ...
275
276
@overload
276
277
def __ge__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ...
277
- @overload
278
+ @overload # type: ignore[override]
278
279
def __le__ (
279
280
self , other : IntervalT | IntervalIndex [IntervalT ]
280
281
) -> np_ndarray_bool : ...
281
282
@overload
282
283
def __le__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ...
283
- @overload
284
+ @overload # type: ignore[override]
284
285
def __lt__ (
285
286
self , other : IntervalT | IntervalIndex [IntervalT ]
286
287
) -> np_ndarray_bool : ...
287
288
@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]
290
291
def __eq__ (self , other : IntervalT | IntervalIndex [IntervalT ]) -> np_ndarray_bool : ... # type: ignore[misc]
291
292
@overload
292
293
def __eq__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ... # type: ignore[misc]
293
294
@overload
294
295
def __eq__ (self , other : object ) -> Literal [False ]: ...
295
- @overload
296
+ @overload # type: ignore[override]
296
297
def __ne__ (self , other : IntervalT | IntervalIndex [IntervalT ]) -> np_ndarray_bool : ... # type: ignore[misc]
297
298
@overload
298
299
def __ne__ (self , other : pd .Series [IntervalT ]) -> pd .Series [bool ]: ... # type: ignore[misc]
0 commit comments