I was poking around in the libical docs and code, trying to figure out the best way to bring ruby to it. I saw some references to Perl and Python bindings and I wanted to see how those where done. The journey to figure out what was going on took some doing, so I thought it should be documented somewhere where others may find it (if the great Google permits of-course). The upshot? The Perl binding is done with Inline::C and the Python bindings are SWIG based, both are broken in 0.24 and neither even exists the 0.26 branch right now.