Python libev interface
libev is an event loop: you register interest in certain events (such as a file descriptor being readable or a timeout occurring), and it will manage these event sources and provide your program with events. To do this, it must take more or less complete control over your process (or thread) by executing the event loop handler, and will then communicate events via a callback mechanism. You register interest in certain events by registering so-called event watchers, which you initialise with the details of the event, and then hand over to libev by starting the watcher.
See mood.event documentation for more info.