Skip to content

idlesign/icalendar_light

Repository files navigation

icalendar_light

https://github.com/idlesign/icalendar_light

release lic ci coverage

Description

Light and easy iCalendar event reader

No fancy stuff, just iCalendar (.ics) events reading.

  • Requires Python 3.6+;
  • Uses namedtuple for event representation;
  • Features iterative event reading to be fast and minimize memory usage.

API

from icalendar_light.toolbox import Calendar

for event in Calendar.iter_events_from_file('my_calendar.ics'):
    print(Calendar.event_stringify(event))

# Or get events upcoming in next 5 days from iCalendar represented as lines:
lines = []  # Let's imagine this one is not empty %)
events = Calendar.iter_events_upcoming(lines, days_forward=5)

CLI

Requires click package (can be installed with: pip install icalendar_light[cli]).

; Show upcoming event for next 90 days
$ icalendar_light upcoming my_calendar.ics --days 90