@@ -3,32 +3,22 @@ from datetime import date, datetime, time, timedelta, timezone, tzinfo
33from types import TracebackType
44from typing import Any , Literal , overload
55
6- import pytz
7- from pytz import BaseTzInfo
8- from typing_extensions import TypeAlias , TypeGuard
9-
10- _PytzTzInfoT : TypeAlias = pytz .tzinfo .BaseTzInfo | pytz ._FixedOffset
11-
12- _TzInfoT : TypeAlias = _PytzTzInfoT | tzinfo
6+ import zoneinfo
137
148utc : Any
159
1610def get_fixed_timezone (offset : timedelta | int ) -> timezone : ...
17- def get_default_timezone () -> BaseTzInfo : ...
11+ def get_default_timezone () -> zoneinfo . ZoneInfo : ...
1812def get_default_timezone_name () -> str : ...
19-
20- # Strictly speaking, it is possible to activate() a non-pytz timezone,
21- # in which case BaseTzInfo is incorrect. However, this is unlikely,
22- # so we use it anyway, to keep things ergonomic for most users.
23- def get_current_timezone () -> BaseTzInfo : ...
13+ def get_current_timezone () -> zoneinfo .ZoneInfo : ...
2414def get_current_timezone_name () -> str : ...
25- def activate (timezone : _TzInfoT | str ) -> None : ...
15+ def activate (timezone : tzinfo | str ) -> None : ...
2616def deactivate () -> None : ...
2717
2818class override (ContextDecorator ):
29- timezone : str | _TzInfoT | None
30- old_timezone : _TzInfoT | None
31- def __init__ (self , timezone : str | _TzInfoT | None ) -> None : ...
19+ timezone : str | tzinfo | None
20+ old_timezone : tzinfo | None
21+ def __init__ (self , timezone : str | tzinfo | None ) -> None : ...
3222 def __enter__ (self ) -> None : ...
3323 def __exit__ (
3424 self ,
@@ -37,8 +27,8 @@ class override(ContextDecorator):
3727 exc_tb : TracebackType | None ,
3828 ) -> None : ...
3929
40- def localtime (value : datetime | None = ..., timezone : _TzInfoT | None = ...) -> datetime : ...
41- def localdate (value : datetime | None = ..., timezone : _TzInfoT | None = ...) -> date : ...
30+ def localtime (value : datetime | None = ..., timezone : tzinfo | None = ...) -> datetime : ...
31+ def localdate (value : datetime | None = ..., timezone : tzinfo | None = ...) -> date : ...
4232def now () -> datetime : ...
4333@overload
4434def is_aware (value : time ) -> Literal [False ]: ...
@@ -48,6 +38,5 @@ def is_aware(value: datetime) -> bool: ...
4838def is_naive (value : time ) -> Literal [True ]: ...
4939@overload
5040def is_naive (value : datetime ) -> bool : ...
51- def make_aware (value : datetime , timezone : _TzInfoT | None = ..., is_dst : bool | None = ...) -> datetime : ...
52- def make_naive (value : datetime , timezone : _TzInfoT | None = ...) -> datetime : ...
53- def _is_pytz_zone (tz : _TzInfoT ) -> TypeGuard [_PytzTzInfoT ]: ...
41+ def make_aware (value : datetime , timezone : tzinfo | None = ..., is_dst : bool | None = ...) -> datetime : ...
42+ def make_naive (value : datetime , timezone : tzinfo | None = ...) -> datetime : ...
0 commit comments