Skip to content

Commit 08114ee

Browse files
gotmax23Secrus
authored andcommitted
Remove direct dependency on tzdata
It shouldn't be necessary to have a hard dependency on tzdata. For most distributions, the tzinfo module can access the built-in timezone data. Otherwise, users can install tzdata directly.
1 parent 09d815a commit 08114ee

File tree

2 files changed

+2
-8
lines changed

2 files changed

+2
-8
lines changed

pyproject.toml

-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ classifiers = [
2020

2121
dependencies = [
2222
"python-dateutil>=2.6",
23-
"tzdata>=2020.1",
2423
'backports.zoneinfo>=0.2.1; python_version < "3.9"',
2524
'time-machine>=2.6.0; implementation_name != "pypy"',
2625
'importlib-resources>=5.9.0; python_version < "3.9"'
@@ -50,7 +49,6 @@ python = ">=3.8"
5049
python-dateutil = ">=2.6"
5150
"backports.zoneinfo" = { version = ">=0.2.1", python = "<3.9" }
5251
time-machine = { version = ">=2.6.0", markers = "implementation_name != 'pypy'", optional = true }
53-
tzdata = ">=2020.1"
5452
importlib-resources = { version = ">=5.9.0", python = "<3.9" }
5553

5654
[tool.poetry.group.test.dependencies]

src/pendulum/tz/__init__.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
from __future__ import annotations
22

3-
from pathlib import Path
4-
from typing import cast
5-
63
from pendulum.tz.local_timezone import get_local_timezone
74
from pendulum.tz.local_timezone import set_local_timezone
85
from pendulum.tz.local_timezone import test_local_timezone
96
from pendulum.tz.timezone import UTC
107
from pendulum.tz.timezone import FixedTimezone
118
from pendulum.tz.timezone import Timezone
12-
from pendulum.utils._compat import resources
9+
from pendulum.utils._zoneinfo import available_timezones
1310

1411

1512
PRE_TRANSITION = "pre"
@@ -25,8 +22,7 @@ def timezones() -> tuple[str, ...]:
2522
global _timezones
2623

2724
if _timezones is None:
28-
with cast(Path, resources.files("tzdata").joinpath("zones")).open() as f:
29-
_timezones = tuple(tz.strip() for tz in f.readlines())
25+
_timezones = tuple(available_timezones())
3026

3127
return _timezones
3228

0 commit comments

Comments
 (0)