Python Calendaring Ecosystem

About

What this project is, why it exists, and who funds it.

What this is

Open source Python libraries that cover the calendaring stack top to bottom. Reading and writing .ics files, computing recurring events, talking to CalDAV servers, speaking JMAP, running CLI tools, integrating with Django.

No company behind any of it. The maintainers use these libraries in real projects. Serious contributors get recognized and become part of the team.

Why it exists

Calendaring specs are old and full of gaps. iCalendar, CalDAV, and JMAP each have their own quirks, and real servers add more on top. Most Python libraries in this space do too little or get recurrences wrong in ways that only show up in production.

We test against real servers. We track compatibility for each one. When something breaks, we fix it.

Standards we implement

  • RFC 5545 — iCalendar
  • RFC 5546 — iTIP (scheduling)
  • RFC 4791 — CalDAV
  • RFC 6638 — CalDAV Scheduling Extensions
  • RFC 6764 — CalDAV/CardDAV Service Discovery
  • RFC 8984 — JSCalendar
  • draft-ietf-jmap-calendars — JMAP Calendaring
  • RFC 9610 — JMAP Contacts

Funding

Development is funded through NGI Zero Core, a grant program run by NLnet with support from the European Commission's Next Generation Internet initiative. Details on the NLnet project page.

The grant funds specific milestones. It doesn't change the licensing or ownership. These libraries are open source and will stay that way.

License and governance

Everything is open source. Most packages use LGPL or Apache 2.0. No foundation, no formal structure. Maintainers run their own packages and coordinate directly when work spans multiple projects.

Contributions are welcome. See the team page for who maintains what.

Funded by

NLnet Foundation, NGI Zero Core

This project is funded through NGI Zero Core, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program.