x-zic: High-performance TZDB Parser

PyPI Version Python Versions Documentation Status License

A high-performance Python library for parsing and analyzing the IANA Time Zone Database (tzdb). Built for production use with smart caching, minimal dependencies, and a practical API.

Features

  • 🚀 Blazing Fast: Smart caching system for instant subsequent loads

  • 📦 Zero Dependencies: Pure Python standard library

  • 🏗️ Production Ready: Robust error handling and validation

  • 🔍 Comprehensive: Full coverage of TZDB files and formats

  • 📊 Multiple Outputs: JSON, dictionaries, pandas DataFrames

  • 🌍 Geographic Data: Timezone coordinates and country mappings

  • Transition Analysis: DST and offset change calculations

Quick Start

from x_zic import read_zones, get_transitions

# Read all timezones (automatically caches for future calls)
zones = read_zones()
print(f"Found {len(zones)} timezones")

# Get DST transitions for New York
transitions = get_transitions('America/New_York', 2020, 2025)
for transition in transitions[:3]:
    print(f"{transition['timestamp']}: {transition['abbrev']}")

Installation

pip install x-zic

Contents

Indices and Tables