summaryrefslogtreecommitdiff
path: root/numpy/core/multiarray.pyi
diff options
context:
space:
mode:
authorBas van Beek <b.f.van.beek@vu.nl>2022-01-06 03:26:22 +0100
committerBas van Beek <b.f.van.beek@vu.nl>2022-01-06 14:41:49 +0100
commitcc7a8e65de692c6d658b8df7c657b37f36f3d02f (patch)
tree21fdc7bdbc63fc331bd8a64dae06f8f7e520e33e /numpy/core/multiarray.pyi
parent7262b9cf9f1998caebdd6da6802e10f2a2d7669a (diff)
downloadnumpy-cc7a8e65de692c6d658b8df7c657b37f36f3d02f.tar.gz
TYP: Allow time manipulation functions to accept `data` and `timedelta` objects
Diffstat (limited to 'numpy/core/multiarray.pyi')
-rw-r--r--numpy/core/multiarray.pyi71
1 files changed, 36 insertions, 35 deletions
diff --git a/numpy/core/multiarray.pyi b/numpy/core/multiarray.pyi
index e06220dc3..423aed85e 100644
--- a/numpy/core/multiarray.pyi
+++ b/numpy/core/multiarray.pyi
@@ -61,6 +61,7 @@ from numpy.typing import (
NDArray,
ArrayLike,
_SupportsArray,
+ _NestedSequence,
_FiniteNestedSequence,
_ArrayLikeBool_co,
_ArrayLikeUInt_co,
@@ -812,28 +813,28 @@ def datetime_data(
@overload
def busday_count( # type: ignore[misc]
- begindates: _ScalarLike_co,
- enddates: _ScalarLike_co,
+ begindates: _ScalarLike_co | dt.date,
+ enddates: _ScalarLike_co | dt.date,
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> int_: ...
@overload
def busday_count( # type: ignore[misc]
- begindates: ArrayLike,
- enddates: ArrayLike,
+ begindates: ArrayLike | dt.date | _NestedSequence[dt.date],
+ enddates: ArrayLike | dt.date | _NestedSequence[dt.date],
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> NDArray[int_]: ...
@overload
def busday_count(
- begindates: ArrayLike,
- enddates: ArrayLike,
+ begindates: ArrayLike | dt.date | _NestedSequence[dt.date],
+ enddates: ArrayLike | dt.date | _NestedSequence[dt.date],
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: _ArrayType = ...,
) -> _ArrayType: ...
@@ -841,100 +842,100 @@ def busday_count(
# `roll="raise"` is (more or less?) equivalent to `casting="safe"`
@overload
def busday_offset( # type: ignore[misc]
- dates: datetime64,
- offsets: _TD64Like_co,
+ dates: datetime64 | dt.date,
+ offsets: _TD64Like_co | dt.timedelta,
roll: L["raise"] = ...,
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> datetime64: ...
@overload
def busday_offset( # type: ignore[misc]
- dates: _ArrayLike[datetime64],
- offsets: _ArrayLikeTD64_co,
+ dates: _ArrayLike[datetime64] | dt.date | _NestedSequence[dt.date],
+ offsets: _ArrayLikeTD64_co | dt.timedelta | _NestedSequence[dt.timedelta],
roll: L["raise"] = ...,
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> NDArray[datetime64]: ...
@overload
def busday_offset( # type: ignore[misc]
- dates: _ArrayLike[datetime64],
- offsets: _ArrayLike[timedelta64],
+ dates: _ArrayLike[datetime64] | dt.date | _NestedSequence[dt.date],
+ offsets: _ArrayLikeTD64_co | dt.timedelta | _NestedSequence[dt.timedelta],
roll: L["raise"] = ...,
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: _ArrayType = ...,
) -> _ArrayType: ...
@overload
def busday_offset( # type: ignore[misc]
- dates: _ScalarLike_co,
- offsets: _ScalarLike_co,
+ dates: _ScalarLike_co | dt.date,
+ offsets: _ScalarLike_co | dt.timedelta,
roll: _RollKind,
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> datetime64: ...
@overload
def busday_offset( # type: ignore[misc]
- dates: ArrayLike,
- offsets: ArrayLike,
+ dates: ArrayLike | dt.date | _NestedSequence[dt.date],
+ offsets: ArrayLike | dt.timedelta | _NestedSequence[dt.timedelta],
roll: _RollKind,
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> NDArray[datetime64]: ...
@overload
def busday_offset(
- dates: ArrayLike,
- offsets: ArrayLike,
+ dates: ArrayLike | dt.date | _NestedSequence[dt.date],
+ offsets: ArrayLike | dt.timedelta | _NestedSequence[dt.timedelta],
roll: _RollKind,
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: _ArrayType = ...,
) -> _ArrayType: ...
@overload
def is_busday( # type: ignore[misc]
- dates: _ScalarLike_co,
+ dates: _ScalarLike_co | dt.date,
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> bool_: ...
@overload
def is_busday( # type: ignore[misc]
- dates: ArrayLike,
+ dates: ArrayLike | _NestedSequence[dt.date],
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> NDArray[bool_]: ...
@overload
def is_busday(
- dates: ArrayLike,
+ dates: ArrayLike | _NestedSequence[dt.date],
weekmask: ArrayLike = ...,
- holidays: None | ArrayLike = ...,
+ holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: _ArrayType = ...,
) -> _ArrayType: ...
@overload
def datetime_as_string( # type: ignore[misc]
- arr: datetime64,
+ arr: datetime64 | dt.date,
unit: None | L["auto"] | _UnitKind = ...,
timezone: L["naive", "UTC", "local"] | dt.tzinfo = ...,
casting: _CastingKind = ...,
) -> str_: ...
@overload
def datetime_as_string(
- arr: _ArrayLikeDT64_co,
+ arr: _ArrayLikeDT64_co | _NestedSequence[dt.date],
unit: None | L["auto"] | _UnitKind = ...,
timezone: L["naive", "UTC", "local"] | dt.tzinfo = ...,
casting: _CastingKind = ...,