--- id: x-wr-timezone version: "2.0.1" license: LGPL-3.0-or-later license_treatment: copyleft maintenance: active --- # x-wr-timezone — Repair Google Calendar - This Python module and program makes ICS/iCalendar files using X-WR-TIMEZONE compatible with the RFC 5545 standard. License: copyleft · Maintenance: active · Downloads: 2.1M/mo ## What it is and what it does X-WR-TIMEZONE is a Python module that solves a compatibility problem in calendar files. Some calendar creators, notably Google Calendar, add a non-standard X-WR-TIMEZONE parameter to ICS files to specify the timezone for events. However, strict RFC 5545 parsers ignore this parameter, causing events to display at incorrect times when imported into standards-compliant calendar applications. This module bridges that gap by converting calendars using X-WR-TIMEZONE into proper RFC 5545-compliant calendars where timezone information is correctly embedded. The package works both as a Python library and as a command-line tool. As a library, you pass an icalendar.Calendar object to the to_standard() function, which returns a converted calendar without modifying the original. The function is idempotent—passing a calendar through it twice produces no further changes. The command-line interface accepts calendar files via stdin or as arguments, making it easy to pipe output from wget or curl directly into the converter. Use it for: - Convert Google Calendar exports to RFC 5545 compliance before importing into strict calendar applications - Standardize calendar files in a build pipeline to ensure consistent timezone handling across different calendar clients - Process calendar feeds from third-party sources that use X-WR-TIMEZONE via curl or wget piping - Repair timezone display issues when importing calendars into applications that don't recognize X-WR-TIMEZONE - Batch-convert a directory of calendar files to ensure they work correctly with standards-compliant tools ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Converts ICS calendar files that use the non-standard X-WR-TIMEZONE parameter to strict RFC 5545-compliant calendars, and provides both a Python API and command-line tool for this conversion. Yes. The package solves a real, specific problem with minimal dependencies and no security vulnerabilities. It is actively maintained, has a stable API, and works as both a library and CLI tool. The copyleft license is standard for calendar software and poses no barrier for most use cases. Install it if you need to work with calendar files that use X-WR-TIMEZONE. ## Install pip install x-wr-timezone uv add x-wr-timezone poetry add x-wr-timezone ## Installing x-wr-timezone Before you install: Low friction: pure Python wheel with three lightweight runtime dependencies (icalendar, tzdata, click). Actively maintained with a recent release and no known vulnerabilities. License in practice: Licensed under LGPL-3.0-or-later (copyleft). You may use and modify the package freely, but any derivative work must also be released under a compatible copyleft license. Quickstart: pip install x-wr-timezone import icalendar import x_wr_timezone with open('in.ics', 'rb') as f: calendar = icalendar.from_ical(f.read()) standardized = x_wr_timezone.to_standard(calendar) with open('out.ics', 'wb') as f: f.write(standardized.to_ical()) Verify before relying: - Whether the package handles all edge cases in real-world calendar files beyond the documented DTSTART, DTEND, EXDATE, RDATE properties ## Package facts - License: LGPL-3.0-or-later (copyleft) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 2.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags icalendar timezone conversion, x-wr-timezone rfc 5545, google calendar ics standardization, icalendar x-wr-timezone, calendar file timezone repair, ics rfc compliance, calendar timezone normalization, calendar-processing, rfc-compliance [View on SkillFed](https://skillfed.io/packages/x-wr-timezone) · [View on PyPI](https://pypi.org/project/x-wr-timezone/)