@@ -77,14 +77,20 @@ class Interval(IntervalMixin, Generic[_OrderableT]):
77
77
closed : IntervalClosedType = ...,
78
78
): ...
79
79
def __hash__ (self ) -> int : ...
80
+ # for __contains__, it seems that we have to separate out the 4 cases to make
81
+ # mypy happy
80
82
@overload
81
- def __contains__ (self : Interval [_OrderableTimesT ], _OrderableTimesT ) -> bool : ...
83
+ def __contains__ (self : Interval [Timestamp ], key : Timestamp ) -> bool : ...
82
84
@overload
83
- def __contains__ (self : Interval [_OrderableScalarT ], key : float ) -> bool : ...
85
+ def __contains__ (self : Interval [Timedelta ], key : Timedelta ) -> bool : ...
84
86
@overload
85
- def __add__ (
86
- self : Interval [_OrderableTimesT ], y : Timedelta
87
- ) -> Interval [_OrderableTimesT ]: ...
87
+ def __contains__ (self : Interval [int ], key : float ) -> bool : ...
88
+ @overload
89
+ def __contains__ (self : Interval [float ], key : float ) -> bool : ...
90
+ @overload
91
+ def __add__ (self : Interval [Timestamp ], y : Timedelta ) -> Interval [Timestamp ]: ...
92
+ @overload
93
+ def __add__ (self : Interval [Timedelta ], y : Timedelta ) -> Interval [Timedelta ]: ...
88
94
@overload
89
95
def __add__ (
90
96
self : Interval [int ], y : _OrderableScalarT
@@ -138,7 +144,7 @@ class Interval(IntervalMixin, Generic[_OrderableT]):
138
144
@overload
139
145
def __rmul__ (self : Interval [Timedelta ], y : float ) -> Interval [Timedelta ]: ...
140
146
@overload
141
- def __truediv__ (self : Interval [int ], y : _OrderableScalarT ) -> Interval [float ]: ...
147
+ def __truediv__ (self : Interval [int ], y : int | float ) -> Interval [float ]: ...
142
148
@overload
143
149
def __truediv__ (self : Interval [float ], y : float ) -> Interval [float ]: ...
144
150
@overload
@@ -162,19 +168,26 @@ class Interval(IntervalMixin, Generic[_OrderableT]):
162
168
@overload
163
169
def __gt__ (self : IntervalT , other : IntervalIndex [IntervalT ]) -> np_ndarray_bool : ...
164
170
@overload
165
- def __gt__ (self , other : Series [_OrderableT ]) -> Series [bool ]: ...
171
+ def __gt__ (
172
+ self ,
173
+ other : Series [int ] | Series [float ] | Series [Timestamp ] | Series [Timedelta ],
174
+ ) -> Series [bool ]: ...
166
175
@overload
167
176
def __lt__ (self , other : Interval [_OrderableT ]) -> bool : ...
168
177
@overload
169
178
def __lt__ (self : IntervalT , other : IntervalIndex [IntervalT ]) -> np_ndarray_bool : ...
170
179
@overload
171
- def __lt__ (self , other : Series [_OrderableT ]) -> Series [bool ]: ...
180
+ def __lt__ (
181
+ self , other : Series [int ] | Series [float ] | Series [Timestamp ] | Series [Timedelta ]
182
+ ) -> Series [bool ]: ...
172
183
@overload
173
184
def __ge__ (self , other : Interval [_OrderableT ]) -> bool : ...
174
185
@overload
175
186
def __ge__ (self : IntervalT , other : IntervalIndex [IntervalT ]) -> np_ndarray_bool : ...
176
187
@overload
177
- def __ge__ (self , other : Series [_OrderableT ]) -> Series [bool ]: ...
188
+ def __ge__ (
189
+ self , other : Series [int ] | Series [float ] | Series [Timestamp ] | Series [Timedelta ]
190
+ ) -> Series [bool ]: ...
178
191
@overload
179
192
def __le__ (self , other : Interval [_OrderableT ]) -> bool : ...
180
193
@overload
0 commit comments