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


Release history Release notifications | RSS feed

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.1.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ical-0.1.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file ical-0.1.0.tar.gz.

File metadata

  • Download URL: ical-0.1.0.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ical-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4e8fadda0ccb848dde8ffca6810c4f3b14c895fb14b6b8cf4f524307b4a1f804
MD5 6db79bdee319f6e5fba509abe9367808
BLAKE2b-256 671f9b78f9e189c0d89ee382ab9f3822748fd5923a09e759ae161c64894367a5

See more details on using hashes here.

File details

Details for the file ical-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ical-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ical-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74cd7c6502458ff867c9b3d31ee43940ad9b1b7844771cdd780814b9cdee7df5
MD5 fd0c7ebecd5ab96fbc63228fc2945373
BLAKE2b-256 1b9d63337217f803f9951f10047f043f9a2cdcd4242ecd7ed7aa67b90cfde62b

See more details on using hashes here.

Supported by

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