The iCalendar library on this site is derived from the C++ version used by Mulberry. This library was initially written in C++, but was then ported to Java for use in an Apache Tomcat+Slide based CalDAV server and web calendar client. Subsequently, it was also ported to Python - primarily as an excerise in learning Python on the part of the author.
This code is up to date with changes in Mulberry. Currently there may be dependencies on Mulberry related concepts that need to be removed in order for it to be used in other apps.
The Java code is a straight port of the C++ code done in 2004. It was kept up to date until the end of 2005. Since then it has not been used.
The Python code is a straight port of the C++ code and was done at the end of 2005. It has been kept up to date with the current C++ code base. It uses some of the concepts used in porting to Java in order to emulate some of the STL collection classes used in the C++ variant.