Skip to content

Commit a2a8cd1

Browse files
committed
make some tslibs files pass with pyright-strict
1 parent 2938805 commit a2a8cd1

File tree

4 files changed

+31
-10
lines changed

4 files changed

+31
-10
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pyright
12
from typing import Any
23

34
def array_strptime(*args, **kwargs) -> Any: ...

pandas-stubs/_libs/tslibs/timedeltas.pyi

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pyright: strict
12
import datetime as dt
23
from datetime import timedelta
34
from typing import (
@@ -241,7 +242,9 @@ class Timedelta(timedelta):
241242
@overload
242243
def __rmul__(self, other: float) -> Timedelta: ...
243244
@overload
244-
def __rmul__(self, other: np.ndarray) -> np.ndarray: ...
245+
def __rmul__(
246+
self, other: npt.NDArray[np.floating] | npt.NDArray[np.integer]
247+
) -> npt.NDArray[np.timedelta64]: ...
245248
@overload
246249
def __rmul__(self, other: Series[int]) -> TimedeltaSeries: ...
247250
@overload

pandas-stubs/_libs/tslibs/timestamps.pyi

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
# pyright: strict
12
from datetime import (
2-
_IsoCalendarDate,
33
date as _date,
44
datetime,
55
time as _time,
66
timedelta,
77
tzinfo as _tzinfo,
88
)
9+
from datetime import _IsoCalendarDate # pyright: ignore[reportPrivateUsage]
910
import sys
1011
from time import struct_time
1112
from typing import (
@@ -166,25 +167,33 @@ class Timestamp(datetime, SupportsIndex):
166167
@overload # type: ignore[override]
167168
def __le__(self, other: Timestamp | datetime | np.datetime64) -> bool: ... # type: ignore[misc]
168169
@overload
169-
def __le__(self, other: Index | npt.NDArray[np.datetime64]) -> np_ndarray_bool: ...
170+
def __le__(
171+
self, other: Index[Timestamp] | npt.NDArray[np.datetime64]
172+
) -> np_ndarray_bool: ...
170173
@overload
171174
def __le__(self, other: TimestampSeries) -> Series[bool]: ...
172175
@overload # type: ignore[override]
173176
def __lt__(self, other: Timestamp | datetime | np.datetime64) -> bool: ... # type: ignore[misc]
174177
@overload
175-
def __lt__(self, other: Index | npt.NDArray[np.datetime64]) -> np_ndarray_bool: ...
178+
def __lt__(
179+
self, other: Index[Timestamp] | npt.NDArray[np.datetime64]
180+
) -> np_ndarray_bool: ...
176181
@overload
177182
def __lt__(self, other: TimestampSeries) -> Series[bool]: ...
178183
@overload # type: ignore[override]
179184
def __ge__(self, other: Timestamp | datetime | np.datetime64) -> bool: ... # type: ignore[misc]
180185
@overload
181-
def __ge__(self, other: Index | npt.NDArray[np.datetime64]) -> np_ndarray_bool: ...
186+
def __ge__(
187+
self, other: Index[Timestamp] | npt.NDArray[np.datetime64]
188+
) -> np_ndarray_bool: ...
182189
@overload
183190
def __ge__(self, other: TimestampSeries) -> Series[bool]: ...
184191
@overload # type: ignore[override]
185192
def __gt__(self, other: Timestamp | datetime | np.datetime64) -> bool: ... # type: ignore[misc]
186193
@overload
187-
def __gt__(self, other: Index | npt.NDArray[np.datetime64]) -> np_ndarray_bool: ...
194+
def __gt__(
195+
self, other: Index[Timestamp] | npt.NDArray[np.datetime64]
196+
) -> np_ndarray_bool: ...
188197
@overload
189198
def __gt__(self, other: TimestampSeries) -> Series[bool]: ...
190199
# error: Signature of "__add__" incompatible with supertype "date"/"datetime"
@@ -224,15 +233,15 @@ class Timestamp(datetime, SupportsIndex):
224233
@overload
225234
def __eq__(self, other: TimestampSeries) -> Series[bool]: ... # type: ignore[overload-overlap]
226235
@overload
227-
def __eq__(self, other: npt.NDArray[np.datetime64] | Index) -> np_ndarray_bool: ... # type: ignore[overload-overlap]
236+
def __eq__(self, other: npt.NDArray[np.datetime64] | Index[Timestamp]) -> np_ndarray_bool: ... # type: ignore[overload-overlap]
228237
@overload
229238
def __eq__(self, other: object) -> Literal[False]: ...
230239
@overload
231240
def __ne__(self, other: Timestamp | datetime | np.datetime64) -> bool: ... # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
232241
@overload
233242
def __ne__(self, other: TimestampSeries) -> Series[bool]: ... # type: ignore[overload-overlap]
234243
@overload
235-
def __ne__(self, other: npt.NDArray[np.datetime64] | Index) -> np_ndarray_bool: ... # type: ignore[overload-overlap]
244+
def __ne__(self, other: npt.NDArray[np.datetime64] | Index[Timestamp]) -> np_ndarray_bool: ... # type: ignore[overload-overlap]
236245
@overload
237246
def __ne__(self, other: object) -> Literal[True]: ...
238247
def __hash__(self) -> int: ...

tests/test_scalars.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -713,8 +713,16 @@ def test_timedelta_mul_div() -> None:
713713

714714
check(assert_type(md_int * td, pd.Timedelta), pd.Timedelta)
715715
check(assert_type(md_float * td, pd.Timedelta), pd.Timedelta)
716-
check(assert_type(md_ndarray_intp * td, np.ndarray), np.ndarray, np.timedelta64)
717-
check(assert_type(md_ndarray_float * td, np.ndarray), np.ndarray, np.timedelta64)
716+
check(
717+
assert_type(md_ndarray_intp * td, npt.NDArray[np.timedelta64]),
718+
np.ndarray,
719+
np.timedelta64,
720+
)
721+
check(
722+
assert_type(md_ndarray_float * td, npt.NDArray[np.timedelta64]),
723+
np.ndarray,
724+
np.timedelta64,
725+
)
718726
check(assert_type(mp_series_int * td, TimedeltaSeries), pd.Series, pd.Timedelta)
719727
check(assert_type(md_series_float * td, TimedeltaSeries), pd.Series, pd.Timedelta)
720728
check(assert_type(md_int64_index * td, pd.TimedeltaIndex), pd.TimedeltaIndex)

0 commit comments

Comments
 (0)