The icalendar package is a RFC 5545 compatible parser/generator for iCalendar files.
python-dateutil and pytz.
Python 2.7 and 3.4+
To install the package, run:
pip install icalendar
You can open an .ics
file and see all the events:
>>> import icalendar
>>> path_to_ics_file = "src/icalendar/tests/calendars/example.ics"
>>> with open(path_to_ics_file) as f:
... calendar = icalendar.Calendar.from_ical(f.read())
>>> for event in calendar.walk('VEVENT'):
... print(event.get("SUMMARY"))
New Year's Day
Orthodox Christmas
International Women's Day
Using this package, you can also create calendars from scratch or edit existing ones.
icalendar
is a critical project used by many. It has
been there for a long time and maintaining long-term compatibility with
projects conflicts partially with providing and using the features that
the latest Python versions bring.
Since we pour more effort into maintaining and developing icalendar, we split the project into two:
2.7
and 3.4+
, PyPy2
and PyPy3
.3.7+
and
PyPy3
.We expect the master
branch with versions
5+
receive the latest updates and features, and the
4.x
branch the subset of security and bug fixes only. We
recommend migrating to later Python versions and also providing feedback
if you depend on the 4.x
features.
ICalendar
object for events happening
at a certain date or within a certain time.ICalendar
objects and files using the
non-standard X-WR-TIMEZONE
compliant with the standard (RFC
5545).