libical is an Open Source (MPL/LGPL) implementation of the IETF's iCalendar Calendaring and Scheduling protocols. (RFC 2445, 2446, and 2447). It parses iCal components and provides C/C++/Python/Java APIs for manipulating the component properties, parameters, and subcomponents.