Blob Blame History Raw
From 3b541739298d1260b246838c637f8b7179975766 Mon Sep 17 00:00:00 2001
From: Maxwell G <maxwell@gtmx.me>
Date: Mon, 5 Feb 2024 18:04:15 +0000
Subject: [PATCH] Use zoneinfo instead of tzdata package to retrieve timezones

We want to use system timezone data, so we patch out the tzdata
dependency.
---
 src/pendulum/tz/__init__.py | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/pendulum/tz/__init__.py b/src/pendulum/tz/__init__.py
index 36c2c69..65a2e01 100644
--- a/src/pendulum/tz/__init__.py
+++ b/src/pendulum/tz/__init__.py
@@ -1,7 +1,6 @@
 from __future__ import annotations
 
-from pathlib import Path
-from typing import cast
+from zoneinfo import available_timezones
 
 from pendulum.tz.local_timezone import get_local_timezone
 from pendulum.tz.local_timezone import set_local_timezone
@@ -9,7 +8,6 @@ from pendulum.tz.local_timezone import test_local_timezone
 from pendulum.tz.timezone import UTC
 from pendulum.tz.timezone import FixedTimezone
 from pendulum.tz.timezone import Timezone
-from pendulum.utils._compat import resources
 
 
 PRE_TRANSITION = "pre"
@@ -25,8 +23,7 @@ def timezones() -> tuple[str, ...]:
     global _timezones
 
     if _timezones is None:
-        with cast(Path, resources.files("tzdata").joinpath("zones")).open() as f:
-            _timezones = tuple(tz.strip() for tz in f.readlines())
+        _timezones = tuple(available_timezones())
 
     return _timezones
 
-- 
2.43.0