Files
dash-api/lib/python3.11/site-packages/pandas-stubs/tseries/holiday.pyi
2025-09-07 22:09:54 +02:00

126 lines
4.0 KiB
Python

from collections.abc import Callable
from datetime import (
date as _date,
datetime,
)
from typing import (
Literal,
overload,
)
import numpy as np
from pandas import (
DatetimeIndex,
Series,
)
from pandas._libs.tslibs.offsets import BaseOffset
from pandas._libs.tslibs.timestamps import Timestamp
def next_monday(dt: datetime) -> datetime: ...
def next_monday_or_tuesday(dt: datetime) -> datetime: ...
def previous_friday(dt: datetime) -> datetime: ...
def sunday_to_monday(dt: datetime) -> datetime: ...
def weekend_to_monday(dt: datetime) -> datetime: ...
def nearest_workday(dt: datetime) -> datetime: ...
def next_workday(dt: datetime) -> datetime: ...
def previous_workday(dt: datetime) -> datetime: ...
def before_nearest_workday(dt: datetime) -> datetime: ...
def after_nearest_workday(dt: datetime) -> datetime: ...
class Holiday:
def __init__(
self,
name: str,
year: int | None = ...,
month: int | None = ...,
day: int | None = ...,
offset: BaseOffset | list[BaseOffset] | None = ...,
observance: Callable[[datetime], datetime] | None = ...,
# Values accepted by Timestamp(), or None:
start_date: (
np.integer | float | str | _date | datetime | np.datetime64 | None
) = ...,
end_date: (
np.integer | float | str | _date | datetime | np.datetime64 | None
) = ...,
days_of_week: tuple[int, ...] | None = ...,
) -> None: ...
@overload
def dates(
self,
start_date: np.integer | float | str | _date | datetime | np.datetime64 | None,
end_date: np.integer | float | str | _date | datetime | np.datetime64 | None,
return_name: Literal[False],
) -> DatetimeIndex: ...
@overload
def dates(
self,
start_date: np.integer | float | str | _date | datetime | np.datetime64 | None,
end_date: np.integer | float | str | _date | datetime | np.datetime64 | None,
return_name: Literal[True] = ...,
) -> Series: ...
holiday_calendars: dict[str, type[AbstractHolidayCalendar]]
def register(cls: type[AbstractHolidayCalendar]) -> None: ...
def get_calendar(name: str) -> AbstractHolidayCalendar: ...
class AbstractHolidayCalendar:
rules: list[Holiday]
start_date: Timestamp
end_date: Timestamp
def __init__(self, name: str = "", rules: list[Holiday] | None = None) -> None: ...
def rule_from_name(self, name: str) -> Holiday | None: ...
@overload
def holidays(
self,
start: datetime | None = ...,
end: datetime | None = ...,
*,
return_name: Literal[True],
) -> Series: ...
@overload
def holidays(
self,
start: datetime | None = ...,
end: datetime | None = ...,
return_name: Literal[False] = ...,
) -> DatetimeIndex: ...
@staticmethod
def merge_class(
base: AbstractHolidayCalendar | type[AbstractHolidayCalendar] | list[Holiday],
other: AbstractHolidayCalendar | type[AbstractHolidayCalendar] | list[Holiday],
) -> list[Holiday]: ...
@overload
def merge(
self,
other: AbstractHolidayCalendar | type[AbstractHolidayCalendar],
inplace: Literal[True],
) -> None: ...
@overload
def merge(
self,
other: AbstractHolidayCalendar | type[AbstractHolidayCalendar],
inplace: Literal[False] = ...,
) -> list[Holiday]: ...
USMemorialDay: Holiday
USLaborDay: Holiday
USColumbusDay: Holiday
USThanksgivingDay: Holiday
USMartinLutherKingJr: Holiday
USPresidentsDay: Holiday
GoodFriday: Holiday
EasterMonday: Holiday
class USFederalHolidayCalendar(AbstractHolidayCalendar): ...
def HolidayCalendarFactory(
name: str,
base: type[AbstractHolidayCalendar],
other: type[AbstractHolidayCalendar],
base_class: type[AbstractHolidayCalendar] = ...,
) -> type[AbstractHolidayCalendar]: ...