Существует ics.py , который имеет очень «питонические» интерфейсы и абстрагируется от не очень интуитивного синтаксиса формата iCalendar RFC5545 .
Пример:
>>> from ics import Calendar, Event
>>> from datetime import datetime
>>> c = Calendar()
>>> e = Event()
>>> e.name = "My cool event"
>>> e.begin = '20140101 10:00:00'
>>> e.end = datetime(2014, 1, 1, 11, 30)
>>> c.events.append(e)
>>> c.events
[<Event 'My cool event' begin:2014-01-01 10:00:00 end:2014-01-01 11:30:00>]
>>> with open('my.ics', 'w') as my_file:
>>> my_file.writelines(c)