A high-performance, extensible Internet server framework.


Historical Note - 2015

Medusa was used in some significant projects - it provided the web server for the fledgling google.stanford.edu, and I believe was used for a while in their web crawler.

It also provided the web server for Zope.

At eGroups, I wrote an outbound SMTP engine ('Newman') that for 10+ years Yahoo used to send more email than any other entity on the Internet. I believe they may actually still be using it (circa 2015). If you see 'NNFMP' in the headers of an email sent via Yahoo, that's the "Newman No-Frills Mail Protocol".

Around 1999/2000 I started moving away from pure event-driven systems to coroutine-based user threading systems. This eventually led to shrapnel, which is what I use today.

Under New Management

In Jun 2002 Andrew Kuchling kindly took up the maintenance of medusa. He has an updated release available via sourceforge.

Since the eGroups mailing list has become completely swamped in spam, the mailing list is moving to python.org

Medusa is an architecture for building long-running, high-performance network servers in Python.

Medusa is in use now in several mission-critical applications, ranging from custom web servers at extremely high-traffic sites to distributed data processing systems.

It is an elegant and efficient solution to a difficult programming problem. Medusa's core async-socket library is very stable; it has been in use virtually unchanged since 1995. [It's also part of the Python Library as of Python-1.5.2, see asyncore.py and asynchat.py]

README for Medusa.
A description of Medusa.
A short tutorial on Medusa programming.

The latest release of Medusa is available:


-Sam Rushing