Skip to main content

Python iCalendar implementation (rfc 2445)

Project description

ical

This is an iCalendar rfc 5545 implementation in python. The goal of this project is to offer a calendar library with the most relevant and practically needed features when building a calendar application (e.g. recurring events).

In support of that goal, the development principles include robust and simple parsing using existing parsing libraries where possible, use of modern python, and high test coverage. It is not a goal to exhaustively support all rfc5545 features directly, fully support the grammar and handle anything unsupported gracefully.

This library is still in early development and as a result, every release before 1.0 will likely contain breaking changes.

Example Usage

from datetime import date

from ical.calendar import Calendar
from ical.event import Event

calendar = Calendar()
calendar.events.append(
    Event(summary="Event summary", start=date(2022, 7, 3), end=date(2022, 7, 4)),
)
for event in calendar.timeline:
    print(e.summary)

Related Work

There are other python rfc5545 implementations that are more mature, and having been around for many years, are still active, and served as reference implementations for this project:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ical-0.2.0.tar.gz (41.1 kB view hashes)

Uploaded Source

Built Distribution

ical-0.2.0-py3-none-any.whl (57.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page