| from datetime import ( |
| datetime, |
| time, |
| timedelta, |
| ) |
| from typing import ( |
| Any, |
| Collection, |
| Literal, |
| TypeVar, |
| overload, |
| ) |
|
|
| import numpy as np |
|
|
| from pandas._libs.tslibs.nattype import NaTType |
| from pandas._typing import ( |
| OffsetCalendar, |
| Self, |
| npt, |
| ) |
|
|
| from .timedeltas import Timedelta |
|
|
| _BaseOffsetT = TypeVar("_BaseOffsetT", bound=BaseOffset) |
| _DatetimeT = TypeVar("_DatetimeT", bound=datetime) |
| _TimedeltaT = TypeVar("_TimedeltaT", bound=timedelta) |
|
|
| _relativedelta_kwds: set[str] |
| prefix_mapping: dict[str, type] |
|
|
| class ApplyTypeError(TypeError): ... |
|
|
| class BaseOffset: |
| n: int |
| normalize: bool |
| def __init__(self, n: int = ..., normalize: bool = ...) -> None: ... |
| def __eq__(self, other) -> bool: ... |
| def __ne__(self, other) -> bool: ... |
| def __hash__(self) -> int: ... |
| @property |
| def kwds(self) -> dict: ... |
| @property |
| def base(self) -> BaseOffset: ... |
| @overload |
| def __add__(self, other: npt.NDArray[np.object_]) -> npt.NDArray[np.object_]: ... |
| @overload |
| def __add__(self, other: BaseOffset) -> Self: ... |
| @overload |
| def __add__(self, other: _DatetimeT) -> _DatetimeT: ... |
| @overload |
| def __add__(self, other: _TimedeltaT) -> _TimedeltaT: ... |
| @overload |
| def __radd__(self, other: npt.NDArray[np.object_]) -> npt.NDArray[np.object_]: ... |
| @overload |
| def __radd__(self, other: BaseOffset) -> Self: ... |
| @overload |
| def __radd__(self, other: _DatetimeT) -> _DatetimeT: ... |
| @overload |
| def __radd__(self, other: _TimedeltaT) -> _TimedeltaT: ... |
| @overload |
| def __radd__(self, other: NaTType) -> NaTType: ... |
| def __sub__(self, other: BaseOffset) -> Self: ... |
| @overload |
| def __rsub__(self, other: npt.NDArray[np.object_]) -> npt.NDArray[np.object_]: ... |
| @overload |
| def __rsub__(self, other: BaseOffset): ... |
| @overload |
| def __rsub__(self, other: _DatetimeT) -> _DatetimeT: ... |
| @overload |
| def __rsub__(self, other: _TimedeltaT) -> _TimedeltaT: ... |
| @overload |
| def __mul__(self, other: np.ndarray) -> np.ndarray: ... |
| @overload |
| def __mul__(self, other: int): ... |
| @overload |
| def __rmul__(self, other: np.ndarray) -> np.ndarray: ... |
| @overload |
| def __rmul__(self, other: int) -> Self: ... |
| def __neg__(self) -> Self: ... |
| def copy(self) -> Self: ... |
| @property |
| def name(self) -> str: ... |
| @property |
| def rule_code(self) -> str: ... |
| @property |
| def freqstr(self) -> str: ... |
| def _apply(self, other): ... |
| def _apply_array(self, dtarr: np.ndarray) -> np.ndarray: ... |
| def rollback(self, dt: datetime) -> datetime: ... |
| def rollforward(self, dt: datetime) -> datetime: ... |
| def is_on_offset(self, dt: datetime) -> bool: ... |
| def __setstate__(self, state) -> None: ... |
| def __getstate__(self): ... |
| @property |
| def nanos(self) -> int: ... |
| def is_anchored(self) -> bool: ... |
|
|
| def _get_offset(name: str) -> BaseOffset: ... |
|
|
| class SingleConstructorOffset(BaseOffset): |
| @classmethod |
| def _from_name(cls, suffix: None = ...): ... |
| def __reduce__(self): ... |
|
|
| @overload |
| def to_offset(freq: None, is_period: bool = ...) -> None: ... |
| @overload |
| def to_offset(freq: _BaseOffsetT, is_period: bool = ...) -> _BaseOffsetT: ... |
| @overload |
| def to_offset(freq: timedelta | str, is_period: bool = ...) -> BaseOffset: ... |
|
|
| class Tick(SingleConstructorOffset): |
| _creso: int |
| _prefix: str |
| def __init__(self, n: int = ..., normalize: bool = ...) -> None: ... |
| @property |
| def delta(self) -> Timedelta: ... |
| @property |
| def nanos(self) -> int: ... |
|
|
| def delta_to_tick(delta: timedelta) -> Tick: ... |
|
|
| class Day(Tick): ... |
| class Hour(Tick): ... |
| class Minute(Tick): ... |
| class Second(Tick): ... |
| class Milli(Tick): ... |
| class Micro(Tick): ... |
| class Nano(Tick): ... |
|
|
| class RelativeDeltaOffset(BaseOffset): |
| def __init__(self, n: int = ..., normalize: bool = ..., **kwds: Any) -> None: ... |
|
|
| class BusinessMixin(SingleConstructorOffset): |
| def __init__( |
| self, n: int = ..., normalize: bool = ..., offset: timedelta = ... |
| ) -> None: ... |
|
|
| class BusinessDay(BusinessMixin): ... |
|
|
| class BusinessHour(BusinessMixin): |
| def __init__( |
| self, |
| n: int = ..., |
| normalize: bool = ..., |
| start: str | time | Collection[str | time] = ..., |
| end: str | time | Collection[str | time] = ..., |
| offset: timedelta = ..., |
| ) -> None: ... |
|
|
| class WeekOfMonthMixin(SingleConstructorOffset): |
| def __init__( |
| self, n: int = ..., normalize: bool = ..., weekday: int = ... |
| ) -> None: ... |
|
|
| class YearOffset(SingleConstructorOffset): |
| def __init__( |
| self, n: int = ..., normalize: bool = ..., month: int | None = ... |
| ) -> None: ... |
|
|
| class BYearEnd(YearOffset): ... |
| class BYearBegin(YearOffset): ... |
| class YearEnd(YearOffset): ... |
| class YearBegin(YearOffset): ... |
|
|
| class QuarterOffset(SingleConstructorOffset): |
| def __init__( |
| self, n: int = ..., normalize: bool = ..., startingMonth: int | None = ... |
| ) -> None: ... |
|
|
| class BQuarterEnd(QuarterOffset): ... |
| class BQuarterBegin(QuarterOffset): ... |
| class QuarterEnd(QuarterOffset): ... |
| class QuarterBegin(QuarterOffset): ... |
| class MonthOffset(SingleConstructorOffset): ... |
| class MonthEnd(MonthOffset): ... |
| class MonthBegin(MonthOffset): ... |
| class BusinessMonthEnd(MonthOffset): ... |
| class BusinessMonthBegin(MonthOffset): ... |
|
|
| class SemiMonthOffset(SingleConstructorOffset): |
| def __init__( |
| self, n: int = ..., normalize: bool = ..., day_of_month: int | None = ... |
| ) -> None: ... |
|
|
| class SemiMonthEnd(SemiMonthOffset): ... |
| class SemiMonthBegin(SemiMonthOffset): ... |
|
|
| class Week(SingleConstructorOffset): |
| def __init__( |
| self, n: int = ..., normalize: bool = ..., weekday: int | None = ... |
| ) -> None: ... |
|
|
| class WeekOfMonth(WeekOfMonthMixin): |
| def __init__( |
| self, n: int = ..., normalize: bool = ..., week: int = ..., weekday: int = ... |
| ) -> None: ... |
|
|
| class LastWeekOfMonth(WeekOfMonthMixin): ... |
|
|
| class FY5253Mixin(SingleConstructorOffset): |
| def __init__( |
| self, |
| n: int = ..., |
| normalize: bool = ..., |
| weekday: int = ..., |
| startingMonth: int = ..., |
| variation: Literal["nearest", "last"] = ..., |
| ) -> None: ... |
|
|
| class FY5253(FY5253Mixin): ... |
|
|
| class FY5253Quarter(FY5253Mixin): |
| def __init__( |
| self, |
| n: int = ..., |
| normalize: bool = ..., |
| weekday: int = ..., |
| startingMonth: int = ..., |
| qtr_with_extra_week: int = ..., |
| variation: Literal["nearest", "last"] = ..., |
| ) -> None: ... |
|
|
| class Easter(SingleConstructorOffset): ... |
|
|
| class _CustomBusinessMonth(BusinessMixin): |
| def __init__( |
| self, |
| n: int = ..., |
| normalize: bool = ..., |
| weekmask: str = ..., |
| holidays: list | None = ..., |
| calendar: OffsetCalendar | None = ..., |
| offset: timedelta = ..., |
| ) -> None: ... |
|
|
| class CustomBusinessDay(BusinessDay): |
| def __init__( |
| self, |
| n: int = ..., |
| normalize: bool = ..., |
| weekmask: str = ..., |
| holidays: list | None = ..., |
| calendar: OffsetCalendar | None = ..., |
| offset: timedelta = ..., |
| ) -> None: ... |
|
|
| class CustomBusinessHour(BusinessHour): |
| def __init__( |
| self, |
| n: int = ..., |
| normalize: bool = ..., |
| weekmask: str = ..., |
| holidays: list | None = ..., |
| calendar: OffsetCalendar | None = ..., |
| start: str | time | Collection[str | time] = ..., |
| end: str | time | Collection[str | time] = ..., |
| offset: timedelta = ..., |
| ) -> None: ... |
|
|
| class CustomBusinessMonthEnd(_CustomBusinessMonth): ... |
| class CustomBusinessMonthBegin(_CustomBusinessMonth): ... |
| class OffsetMeta(type): ... |
| class DateOffset(RelativeDeltaOffset, metaclass=OffsetMeta): ... |
|
|
| BDay = BusinessDay |
| BMonthEnd = BusinessMonthEnd |
| BMonthBegin = BusinessMonthBegin |
| CBMonthEnd = CustomBusinessMonthEnd |
| CBMonthBegin = CustomBusinessMonthBegin |
| CDay = CustomBusinessDay |
|
|
| def roll_qtrday( |
| other: datetime, n: int, month: int, day_opt: str, modby: int |
| ) -> int: ... |
|
|
| INVALID_FREQ_ERR_MSG: Literal["Invalid frequency: {0}"] |
|
|
| def shift_months( |
| dtindex: npt.NDArray[np.int64], |
| months: int, |
| day_opt: str | None = ..., |
| reso: int = ..., |
| ) -> npt.NDArray[np.int64]: ... |
|
|
| _offset_map: dict[str, BaseOffset] |
|
|