diff options
author | Maxwell Muoto <maxmuoto@gmail.com> | 2023-04-09 03:08:23 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-09 14:08:23 +0600 |
commit | 9659f11ae1b1633cd9897ac3f49d029b17a29010 (patch) | |
tree | 6d7da7efabf165296f3de7c0bc47dd9812880415 | |
parent | 2de7f9f038dd62e097e490cb3fa609067c1c3c36 (diff) | |
download | kombu-9659f11ae1b1633cd9897ac3f49d029b17a29010.tar.gz |
Deprecate pytz and use zoneinfo (#1680)
* Main
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix
* Trigger Build
* Fix
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix
* Fix
* noqas
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove unused noqa
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* re-add import
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fixes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* use pytest-freezer (#1683)
* Main
* Trigger Build
* Fixes
* remove
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* lint
* Lint
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
-rw-r--r-- | kombu/asynchronous/timer.py | 12 | ||||
-rw-r--r-- | requirements/test.txt | 2 | ||||
-rw-r--r-- | t/unit/utils/test_json.py | 9 |
3 files changed, 14 insertions, 9 deletions
diff --git a/kombu/asynchronous/timer.py b/kombu/asynchronous/timer.py index f6be1346..ab0291da 100644 --- a/kombu/asynchronous/timer.py +++ b/kombu/asynchronous/timer.py @@ -16,10 +16,10 @@ from vine.utils import wraps from kombu.log import get_logger -try: - from pytz import utc -except ImportError: # pragma: no cover - utc = None +if sys.version_info >= (3, 9): + from zoneinfo import ZoneInfo +else: + from backports.zoneinfo import ZoneInfo if TYPE_CHECKING: from types import TracebackType @@ -29,13 +29,13 @@ __all__ = ('Entry', 'Timer', 'to_timestamp') logger = get_logger(__name__) DEFAULT_MAX_INTERVAL = 2 -EPOCH = datetime.utcfromtimestamp(0).replace(tzinfo=utc) +EPOCH = datetime.utcfromtimestamp(0).replace(tzinfo=ZoneInfo("UTC")) IS_PYPY = hasattr(sys, 'pypy_version_info') scheduled = namedtuple('scheduled', ('eta', 'priority', 'entry')) -def to_timestamp(d, default_timezone=utc, time=monotonic): +def to_timestamp(d, default_timezone=ZoneInfo("UTC"), time=monotonic): """Convert datetime to timestamp. If d' is already a timestamp, then that will be used. diff --git a/requirements/test.txt b/requirements/test.txt index e11e3025..90613afb 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,6 +1,6 @@ -pytz pytest>=7.1.1 pytest-sugar Pyro4 hypothesis pytest-freezer +backports.zoneinfo>=0.2.1; python_version < '3.9' diff --git a/t/unit/utils/test_json.py b/t/unit/utils/test_json.py index 8dcc7e32..a026c883 100644 --- a/t/unit/utils/test_json.py +++ b/t/unit/utils/test_json.py @@ -1,18 +1,23 @@ from __future__ import annotations +import sys import uuid from collections import namedtuple from datetime import datetime from decimal import Decimal import pytest -import pytz from hypothesis import given, settings from hypothesis import strategies as st from kombu.utils.encoding import str_to_bytes from kombu.utils.json import dumps, loads +if sys.version_info >= (3, 9): + from zoneinfo import ZoneInfo +else: + from backports.zoneinfo import ZoneInfo + class Custom: @@ -27,7 +32,7 @@ class test_JSONEncoder: @pytest.mark.freeze_time("2015-10-21") def test_datetime(self): now = datetime.utcnow() - now_utc = now.replace(tzinfo=pytz.utc) + now_utc = now.replace(tzinfo=ZoneInfo("UTC")) original = { 'datetime': now, |