Skip to content

Commit 66b12af

Browse files
committed
Switch Ruff to > Py3.9, apply changes
1 parent 2e4511e commit 66b12af

File tree

7 files changed

+19
-78
lines changed

7 files changed

+19
-78
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ fix = true
9191
unfixable = [
9292
"ERA", # do not autoremove commented out code
9393
]
94-
target-version = "py38"
94+
target-version = "py39"
9595
line-length = 88
9696
extend-select = [
9797
"B", # flake8-bugbear

src/pendulum/formatting/formatter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import datetime
44
import re
55

6+
from collections.abc import Sequence
7+
from re import Match
68
from typing import TYPE_CHECKING
79
from typing import Any
810
from typing import Callable
911
from typing import ClassVar
10-
from typing import Match
11-
from typing import Sequence
1212
from typing import cast
1313

1414
import pendulum

src/pendulum/interval.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from datetime import timedelta
88
from typing import TYPE_CHECKING
99
from typing import Generic
10-
from typing import Iterator
1110
from typing import TypeVar
1211
from typing import cast
1312
from typing import overload
@@ -20,6 +19,8 @@
2019

2120

2221
if TYPE_CHECKING:
22+
from collections.abc import Iterator
23+
2324
from typing_extensions import Self
2425
from typing_extensions import SupportsIndex
2526

src/pendulum/tz/local_timezone.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import warnings
88

99
from contextlib import contextmanager
10-
from typing import Iterator
10+
from typing import TYPE_CHECKING
1111
from typing import cast
1212

1313
from pendulum.tz.exceptions import InvalidTimezone
@@ -16,6 +16,10 @@
1616
from pendulum.tz.timezone import Timezone
1717

1818

19+
if TYPE_CHECKING:
20+
from collections.abc import Iterator
21+
22+
1923
if sys.platform == "win32":
2024
import winreg
2125

src/pendulum/utils/_compat.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22

33
import sys
44

5+
from importlib import resources
6+
57
from pendulum.utils import _zoneinfo as zoneinfo
68

79

810
PYPY = hasattr(sys, "pypy_version_info")
911

10-
if sys.version_info < (3, 9):
11-
import importlib_resources as resources
12-
else:
13-
from importlib import resources
1412

1513
__all__ = ["resources", "zoneinfo"]

src/pendulum/utils/_zoneinfo.py

Lines changed: 6 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,12 @@
11
from __future__ import annotations
22

3-
import sys
3+
from zoneinfo import TZPATH
4+
from zoneinfo import InvalidTZPathWarning
5+
from zoneinfo import ZoneInfo
6+
from zoneinfo import ZoneInfoNotFoundError
7+
from zoneinfo import available_timezones
8+
from zoneinfo import reset_tzpath
49

5-
from typing import TYPE_CHECKING
6-
7-
8-
if sys.version_info < (3, 9):
9-
# Works around https://github.com/pganssle/zoneinfo/issues/125
10-
from backports.zoneinfo import TZPATH
11-
from backports.zoneinfo import InvalidTZPathWarning
12-
from backports.zoneinfo import ZoneInfoNotFoundError
13-
from backports.zoneinfo import available_timezones
14-
from backports.zoneinfo import reset_tzpath
15-
16-
if TYPE_CHECKING:
17-
from collections.abc import Iterable
18-
from datetime import datetime
19-
from datetime import timedelta
20-
from datetime import tzinfo
21-
from typing import Any
22-
from typing import Protocol
23-
24-
from typing_extensions import Self
25-
26-
class _IOBytes(Protocol):
27-
def read(self, __size: int) -> bytes:
28-
...
29-
30-
def seek(self, __size: int, __whence: int = ...) -> Any:
31-
...
32-
33-
class ZoneInfo(tzinfo):
34-
@property
35-
def key(self) -> str:
36-
...
37-
38-
def __init__(self, key: str) -> None:
39-
...
40-
41-
@classmethod
42-
def no_cache(cls, key: str) -> Self:
43-
...
44-
45-
@classmethod
46-
def from_file(cls, __fobj: _IOBytes, key: str | None = ...) -> Self:
47-
...
48-
49-
@classmethod
50-
def clear_cache(cls, *, only_keys: Iterable[str] | None = ...) -> None:
51-
...
52-
53-
def tzname(self, __dt: datetime | None) -> str | None:
54-
...
55-
56-
def utcoffset(self, __dt: datetime | None) -> timedelta | None:
57-
...
58-
59-
def dst(self, __dt: datetime | None) -> timedelta | None:
60-
...
61-
62-
else:
63-
from backports.zoneinfo import ZoneInfo
64-
65-
else:
66-
from zoneinfo import TZPATH
67-
from zoneinfo import InvalidTZPathWarning
68-
from zoneinfo import ZoneInfo
69-
from zoneinfo import ZoneInfoNotFoundError
70-
from zoneinfo import available_timezones
71-
from zoneinfo import reset_tzpath
7210

7311
__all__ = [
7412
"ZoneInfo",

tests/testing/test_time_travel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212

1313
if TYPE_CHECKING:
14-
from typing import Generator
14+
from collections.abc import Generator
1515

1616

1717
@pytest.fixture(autouse=True)

0 commit comments

Comments
 (0)