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 PEP 333 for more information on WSGI.
Web Server implementations
Divmod Nevow Twisted Web-based templating framework with a WSGI implementation
Eventlet - allows for the implementation of massively concurrent servers which would require prohibitive amounts of memory under a traditional preemptive multi-threading or multi-process model ... can also run inside of the nginx Web server using the mod_wsgi package for nginx
flup has AJP, SCGI and FastCGI servers
see Jonpy below<br>
isapi_wsgi - a WSGI implementation for IIS ISAPI
modjy - a WSGI implementation for Jython
mod_wsgi module for Apache
nginx mod_wsgi module for Nginx
Peak has CGI and FastCGI gateway and server options more info
Paste#http a SimpleHTTPServer-based server
see Python Paste below
Twisted Web2 Experimental HTTP server with a WSGI implementation
Toolserver Framework for Python - a WSGI implementation in a Medusa-based webservice framework
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. See wsgiref for source code.)
- see WSGIUtils below
Web Framework implementations
CherryPy 2.1 beta includes a mutli-threaded WSGI server
Colubrid - simple to use WSGI implementation compatible with python2.2 or higher. It parses formdata, url parameters, cookies and implements some simple to use URL dispatchers.
Django - An emerging framework generating a lot of buzz that has recently added support for WSGI
Jonpy - this also includes a HTTP server with a WSGI backend
Nevow - the reimplementation of Twisted's woven, doesn't require Twisted.
Paste WebKit - a Webware reimplementation, implemented with a degree of framework-neutrality in mind.
Python Web Modules - New version contains a WSGI server and middleware.
Python Paste - a collection of low-level WSGI tools including a multi-threaded SSL-enabled WSGI server, and an auth package with signed cookies, sessions, form and digest authentication.
Pylons - a WSGI-based framework using Mako and Paste
TurboGears also provides a WSGI front-end.
Wareweb - a rethinking of Webware/WebKit
weblayer - weblayer is a lightweight, componentised Python package for writing WSGI applications
WSGIUtils - A multi-threaded WSGI server implementation and a simple framework providing basic user authentication, signed cookies, and persistent sessions.
Zope Zope 3 is now a WSGI application. It ships with the Twisted
- WSGI server implementation and also includes an asyncore-based server implemenatation.