The Python Calendaring Ecosystem (PCE) is an actively developed and maintained collection of integrated free and open source Python packages. For trusted, reliable implementations of recurring or one-time events, scheduling, notifications and alarms, participants, timezones, and other calendar components, the PCE is the best choice.
Parts of this software run in millions of installations that depend on calendaring features, including home automation, health and fitness trackers, time keeping, work scheduling, and most importantly remembering your loved ones' birthdays. You can use any part of the PCE to develop your own applications.
We're a small team of developers, with a warm, welcoming community toward contributors. Join us! The PCE is supported by a generous grant through the NLnet NGI Zero program, and by donors like you.
Key software
RFC 5545 parser and generator for iCalendar files. The foundation for every other package in this ecosystem.
The only actively maintained Python CalDAV client. Sync and async, scheduling, free/busy, JMAP. Tested against a dozen real servers. Used by Home Assistant.
Give it a calendar and a date range, get back every occurrence, exceptions and overrides included.
Embed any iCalendar feed as a web calendar. No account, no database, no tracking. Self-hostable.
CLI and TUI for calendars and tasks, live against a CalDAV server. No local sync, no local storage. Successor to calendar-cli.
Strip names, emails, and locations from .ics files while keeping all timing and recurrence data intact. Library, CLI, HTTP API, web UI, and Docker image.