Implementations of the Web Server Gateway Interface
Note: many of these implementations may be partial/incomplete or noncompliant as of the current draft spec. If you can't get the code samples in the spec to work with one of these implementations, there's a good chance that the implementation is broken: contact the implementation's author.
See [http://www.python.org/peps/pep-0333.html PEP 333] for more information on WSGI.
Web Server implementations
[http://wsgiarea.pocoo.org WSGIarea] - simple to use WSGI packages with wrappers for CGI, mod_python, FastCGI and many others. Includes middleware systems for cookie/session/error handling as well as gzipping of the output and highlighting searchstrings. Uses much code of [http://www.saddi.com/software/flup/ flup] but tries to be compatible to other WSGI packages.
[http://mail.python.org/pipermail/web-sig/2004-October/000956.html wsgiref] - a library of base classes covering most of the "hard parts" of a WSGI server implementation, written by the PEP author. It also includes utility functions and classes that may be useful for application/framework implementors, and should be considered a "must read" for server implementors. (Update: most of the limitations mentioned in the linked post have now been resolved; wsgiref now includes sensible default error handling and logging, automatic calculation of Content-Length when possible, and greater test coverage.)
[http://www.xhaus.com/modjy modjy] - a WSGI implementation for Jython
- see Jonpy below
- see WSGIUtils below
see [http://mail.python.org/pipermail/web-sig/2006-January/001859.html Python Paste] below
[http://st0rm.hopto.org/wsgi/ Twisted] (If the server isn't working, there's a copy [http://svn.colorstudy.com/trunk/WSGIKit/wsgikit/twisted_wsgi.py here])
[http://www.idyll.org/~t/www-tools/wsgi/] - SWAP, a WSGI adapter for [http://www.mems-exchange.org/software/scgi/ SCGI].
[http://pyds.muensterland.org/wiki/toolserver.html Toolserver Framework for Python] - a WSGI implementation in a Medusa-based webservice framework
[http://isapi-wsgi.python-hosting.com isapi_wsgi] - a WSGI implementation for IIS ISAPI
[http://peak.telecommunity.com/ Peak] has CGI and FastCGI gateway and server options [http://mail.python.org/pipermail/web-sig/2004-October/000966.html more info]
[http://www.saddi.com/software/py-lib/ py-lib] a bunch of servers (and a little framework) by Allan Saddi
[http://www.zope.com Zope] Zope 3 is now a WSGI application. It ships with the Twisted
- WSGI server implementation and also includes an asyncore-based server implemenatation.
Web Framework implementations
[http://www.pythonweb.org Python Web Modules] - New version contains a WSGI server and middleware.
[http://pythonpaste.org/ Python Paste] - a collection of low-level WSGI tools including a multi-threaded SSL-enabled WSGI [http://svn.w4py.org/Paste/trunk/paste/httpserver.py server], and an [http://svn.w4py.org/Paste/trunk/paste/auth/ auth] package with signed cookies, sessions, form and digest authentication.
[http://svn.w4py.org/WSGIKit/trunk WSGIKit] - a [http://w4py.org Webware] reimplementation, implemented with a degree of framework-neutrality in mind.
[http://st0rm.hopto.org/wsgi/ Jonpy] - this also includes a HTTP server with a WSGI backend
[http://www.nevow.com/ Nevow] - the reimplementation of Twisted's woven, doesn't require Twisted.
[http://www.owlfish.com/software/wsgiutils/ WSGIUtils] - A multi-threaded WSGI server implementation and a simple framework providing basic user authentication, signed cookies, and persistent sessions.
[http://www.idyll.org/~t/www-tools/wsgi/] - QWIP, a WSGI adapter for [http://quixote.ca/ Quixote] applications.
CherryPy 2.1 beta includes a mutli-threaded WSGI server
[http://subway.python-hosting.com Subway] - early work on a [http://rubyonrails.org Rails]-like system.
[http://www.djangoproject.com/ Django] - An emerging framework generating a lot of buzz that has [http://code.djangoproject.com/changeset/169 recently added support] for WSGI