@@ -3,32 +3,22 @@ from datetime import date, datetime, time, timedelta, timezone, tzinfo
3
3
from types import TracebackType
4
4
from typing import Any , Literal , overload
5
5
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
13
7
14
8
utc : Any
15
9
16
10
def get_fixed_timezone (offset : timedelta | int ) -> timezone : ...
17
- def get_default_timezone () -> BaseTzInfo : ...
11
+ def get_default_timezone () -> zoneinfo . ZoneInfo : ...
18
12
def 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 : ...
24
14
def get_current_timezone_name () -> str : ...
25
- def activate (timezone : _TzInfoT | str ) -> None : ...
15
+ def activate (timezone : tzinfo | str ) -> None : ...
26
16
def deactivate () -> None : ...
27
17
28
18
class 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 : ...
32
22
def __enter__ (self ) -> None : ...
33
23
def __exit__ (
34
24
self ,
@@ -37,8 +27,8 @@ class override(ContextDecorator):
37
27
exc_tb : TracebackType | None ,
38
28
) -> None : ...
39
29
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 : ...
42
32
def now () -> datetime : ...
43
33
@overload
44
34
def is_aware (value : time ) -> Literal [False ]: ...
@@ -48,6 +38,5 @@ def is_aware(value: datetime) -> bool: ...
48
38
def is_naive (value : time ) -> Literal [True ]: ...
49
39
@overload
50
40
def 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