Gonium

Gonium is a collection of python modules used for diverse tasks; it's basically a catch-all package into which I drop code that more than one of my python projects depends on, or on which more than one of my python projects is expected to depend on in the future.
Gonium has been written entirely by Sebastian Hagen and is licensed under the GNU GPL.
The current version of gonium is available from its git repository, available at http://git.memespace.net/git/gonium.git/ and git://github.com/sh01/gonium.git.

gonium modules include:

  • fd_management: An extensible network/timer event dispatching system with a flexible API. Includes poll() and select() based event dispatchers.
  • fd_management.event_dispatcher_qt: A QT4-based event dispatcher for fd_management.
  • ip_address: Simple classes for storing, comparing and printing IPv4 and IPv6 addresses.
  • event_multiplexing: A simple but effective eventing framework.
  • http_hacks: A hackish module which exposes core features of python's httplib (and libraries based on it, such as urllib2) in a completely nonblocking manner.
  • dns_resolving: An implementation of the DNS protocol purely in python, intended to allow non-blocking lookups (currently incomplete).

Gonium features terse and incomplete documentation. Additionally, some of the abandoned and deprecated modules (not listed above) are based on highly questionable design choices.
Paradigm: If single-threaded non-blocking I/O doesn't work for your network server, you aren't using enough of it.