aiozoneinfo
Tools to fetch zoneinfo with asyncio
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 aiozoneinfouv
uv add aiozoneinfopoetry
poetry add aiozoneinfoInstalling 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
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
aioouiPerforms asynchronous lookups of…
permissive · top 15,000 on PyPI
aioopenexchangeratesAsync client library for fetching currency…
permissive · top 15,000 on PyPI
async-interruptProvides an asyncio context manager that…
permissive · top 5,000 on PyPI
aiousbwatcherWatches for USB devices being plugged in and…
permissive · top 15,000 on PyPI
aiodhcpwatcherWatches for DHCP packets on the network using…
permissive · top 15,000 on PyPI
tzlocalReturns the IANA timezone name and tzinfo…
permissive · top 1,000 on PyPI
backports.zoneinfoProvides IANA time zone support for Python…
permissive · top 5,000 on PyPI
pyserial-asyncioAdds async/await support to pyserial for…
permissive · top 15,000 on PyPI
django-timezone-fieldProvides Django database, form, and REST…
permissive · top 5,000 on PyPI
pytzdataProvides access to the Olson timezone database…
permissive · top 5,000 on PyPI