Zephyr is the Instant Messaging system developed at MIT Project Athena before anyone came up with the term (we called it "Notification" at the time, since the original goal was for system notifications to users, user to user communication was originally a secondary consideration.
I'm implementing some Zephyr tools in python. Note that there's already a CMU implementation, which just isn't structured the way I want it to be, plus I'd like to get some practice in building library interfaces.
While experimenting with the other python/C interfaces, I ended up building a reasonable binding subset in pyrex. "Reasonable" meaning that I've been using it to run a zephyr logger since 2004, and it only needs restarting after drastic infrastructure failures (common ones it recovers from.)
Beyond what the logger uses, don't expect too much out of it; the right (but scary) thing to do is probably to make this a twisted.words module instead, to make it easier to use the other modules there to build a multiprotocol client.