skillfed

backports.zoneinfo

Backport of the standard library zoneinfo module

backports-zoneinfo v0.2.1 6.7M downloads/30d#1,861 on PyPI56
Permissive license Apache-2.0 DORMANT released

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 on this page — 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

backports-zoneinfo on PyPI

pip

pip install backports-zoneinfo

uv

uv add backports-zoneinfo

poetry

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 the current Python release (>=3.6)
Install friction medium — platform-specific wheel
Runtime dependencies 1 — importlib-resources
Maintenance dormant — 2,243 days since the last release
Last repo commit
First released
Downloads 6,737,721/month — #1,861 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl; backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_i686.whl; backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_x86_64.whl; backports.zoneinfo-0.2.1-cp36-cp36m-win32.whl; backports.zoneinfo-0.2.1-cp36-cp36m-win_amd64.whl; backports.zoneinfo-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl; backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_i686.whl; backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_x86_64.whl; backports.zoneinfo-0.2.1-cp37-cp37m-win32.whl; backports.zoneinfo-0.2.1-cp37-cp37m-win_amd64.whl; backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl; backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl; backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl; backports.zoneinfo-0.2.1-cp38-cp38-win32.whl; backports.zoneinfo-0.2.1-cp38-cp38-win_amd64.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8

Tags

timezone support python 3.6 3.7 3.8IANA time zone database backportzoneinfo backportdatetime timezone handlingdaylight saving time transitionstimezone-aware datetimepython timezone library
timezone-handlingbackportdatetime

More Software Development packages