diff options
author | Bas van Beek <b.f.van.beek@vu.nl> | 2022-01-06 03:26:22 +0100 |
---|---|---|
committer | Bas van Beek <b.f.van.beek@vu.nl> | 2022-01-06 14:41:49 +0100 |
commit | cc7a8e65de692c6d658b8df7c657b37f36f3d02f (patch) | |
tree | 21fdc7bdbc63fc331bd8a64dae06f8f7e520e33e /numpy/core/multiarray.pyi | |
parent | 7262b9cf9f1998caebdd6da6802e10f2a2d7669a (diff) | |
download | numpy-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.pyi | 71 |
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 = ..., |