skillfed

aiozoneinfo

Tools to fetch zoneinfo with asyncio

aiozoneinfo v0.2.3 603.9K downloads/30d#5,807 on PyPI2
Permissive license Apache-2.0 Active released

What it is and what it does

aiozoneinfo wraps timezone data fetching for asyncio applications. It provides a single public method, `async_get_time_zone`, that retrieves ZoneInfo objects without blocking the event loop. The package depends on backports.zoneinfo and tzdata, and is designed for scenarios where timezone lookups might otherwise stall async code.

The package targets Python 3.9 through 3.13 and uses an executor to offload disk I/O when constructing new ZoneInfo objects, keeping the event loop responsive. This is most useful in async web services, background task runners, or other I/O-bound applications that need timezone information on demand.

Use it for:

  • Async web services that need to convert timestamps to user timezones without blocking request handlers
  • Background task schedulers that fetch timezone data for scheduled jobs across multiple regions
  • Real-time data processing pipelines that enrich events with timezone-aware timestamps
  • Microservices handling timezone-dependent business logic in concurrent request contexts

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Fetches timezone information asynchronously using asyncio, avoiding blocking I/O in the event loop by caching ZoneInfo objects or constructing them in an executor.

Yes, if you are building asyncio applications that need timezone lookups and want to avoid event loop blocking. The low install friction, permissive license, and active maintenance make it a safe choice. However, the Pre-Alpha status and small user base mean you should test it in your specific use case before relying on it in production.

Install

aiozoneinfo on PyPI

pip

pip install aiozoneinfo

uv

uv add aiozoneinfo

poetry

poetry add aiozoneinfo

Installing aiozoneinfo

Before you install

Low install friction with a pure Python wheel and minimal dependencies. Actively maintained with a recent commit on 2026-08-10, though marked Pre-Alpha.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions.

Quickstart

pip install aiozoneinfo

import asyncio
from aiozoneinfo import async_get_time_zone

async def main():
    zone_info = await async_get_time_zone("America/Los_Angeles")

asyncio.run(main())

Requires Python 3.9 or later.

Verify before relying

  • Whether the internal cache persists across application restarts or is memory-only
  • Performance characteristics compared to synchronous ZoneInfo access
  • Thread-safety guarantees when used in multi-threaded contexts

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 2 — backports.zoneinfo, tzdata
Maintenance actively maintained — 556 days since the last release
Last repo commit
First released
Downloads 603,896/month — #5,807 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: aiozoneinfo-0.2.3-py3-none-any.whl

Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries

Tags

async timezone lookupasyncio zoneinfonon-blocking timezone fetchasync timezone cachezoneinfo with asynciotimezone info asyncevent loop safe timezone
asynciotimezone-handling

More Libraries packages