--- id: backports-zoneinfo version: "0.2.1" license: Apache-2.0 license_treatment: permissive maintenance: dormant --- # backports.zoneinfo — Backport of the standard library zoneinfo module License: permissive · Maintenance: dormant · Downloads: 6.7M/mo ## What it is and what it does backports.zoneinfo is a backport of Python 3.9's standard library `zoneinfo` module to Python 3.6, 3.7, and 3.8. It provides the `ZoneInfo` class, which lets you attach IANA time zone information to datetime objects, enabling proper handling of daylight-saving transitions and timezone-aware arithmetic without manual normalization. The module uses system time zone data when available and falls back to the `importlib-resources` dependency if needed. The package is a drop-in replacement for the standard library version, so code written for Python 3.9+ can be made backward-compatible by using a try-except import pattern. It handles ambiguous and imaginary times (e.g., during DST transitions) using the `fold` attribute, and datetime arithmetic automatically adjusts for offset changes across time zone boundaries. Use it for: - Support timezone-aware datetime handling in applications targeting Python 3.6–3.8 without reimplementing timezone logic. - Migrate code from older Python versions to use modern IANA time zone handling before upgrading to Python 3.9+. - Handle DST transitions and ambiguous times correctly in scheduling, logging, or time-series applications. - Build cross-version compatible libraries that work on Python 3.6+ by conditionally importing from backports or stdlib. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides IANA time zone support for Python 3.6–3.8 by backporting the standard library's `zoneinfo` module, enabling timezone-aware datetime handling with automatic daylight-saving transitions. Yes, if you need timezone support on Python 3.6–3.8. It is a stable, permissive-licensed backport with no known vulnerabilities and low maintenance burden since the implementation is frozen. However, if you are already on Python 3.9+, use the standard library `zoneinfo` instead. Dormant maintenance is not a concern here because the module is feature-complete. ## Install pip install backports-zoneinfo uv add backports-zoneinfo poetry add backports-zoneinfo ## Installing backports.zoneinfo Before you install: Medium install friction due to compiled wheels for multiple Python versions and platforms. Dormant maintenance status (last release June 2020, last commit September 2024) means no active development, but the package is stable and unlikely to need updates. License in practice: Apache-2.0 permissive license allows free use, modification, and distribution in both open-source and proprietary projects with minimal restrictions. Quickstart: pip install backports.zoneinfo try: import zoneinfo except ImportError: from backports import zoneinfo from datetime import datetime dt = datetime(1992, 3, 1, tzinfo=zoneinfo.ZoneInfo("Europe/Minsk")) print(dt) Requires Python 3.6 or later; on Python 3.9+ the standard library `zoneinfo` is preferred and this backport is not necessary. Verify before relying: - Whether system time zone data is reliably available on all supported platforms or if tzdata fallback is typically required. - Current maintenance status and whether the package receives bug fixes for Python 3.6–3.8 users. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: medium - Maintenance: dormant - Downloads: 6.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags timezone support python 3.6 3.7 3.8, IANA time zone database backport, zoneinfo backport, datetime timezone handling, daylight saving time transitions, timezone-aware datetime, python timezone library, timezone-handling, backport, datetime [View on SkillFed](https://skillfed.io/packages/backports-zoneinfo) · [View on PyPI](https://pypi.org/project/backports-zoneinfo/)