Differences between revisions 1 and 48 (spanning 47 versions)
Revision 1 as of 2004-09-08 21:11:57
Size: 303
Editor: cache6-popl
Comment:
Revision 48 as of 2008-05-21 17:05:57
Size: 4976
Editor: n00
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Implementations of the Web Server Gateway Interface #pragma section-numbers off
Line 3: Line 3:
== Web Server implementations == = Implementations of the Web Server Gateway Interface =
Line 5: Line 5:
 * None yet AFAIK 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://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. See [http://svn.eby-sarna.com/wsgiref wsgiref] for source code.)

 * [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://twistedmatrix.com/projects/web2 Twisted Web2] Experimental HTTP server with a WSGI implementation

 * [http://divmod.org/trac/wiki/DivmodNevow Divmod Nevow] Twisted Web-based templating framework with a WSGI implementation

 * [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/flup/ flup] has AJP, SCGI and FastCGI servers

 * [http://pythonpaste.org/module-paste.httpserver.html Paste#http] a SimpleHTTPServer-based server

 * [http://code.google.com/p/modwsgi/ modwsgi] module for Apache

 * [http://wiki.codemongers.com/NginxNgxWSGIModule?highlight=%28wsgi%29 mod_wsgi] module for Nginx
Line 9: Line 43:
 * [http://wiki.secondlife.com/wiki/Eventlet/Documentation#Using_eventlet.wsgi Eventlet] - Eventlet can also run inside of the nginx Web server using the mod_wsgi package for nginx. Using the nginx mod_wsgi package provides by far the best performance for serving HTTP; it almost seems impossible that Python should be able to achieve this level of performance, but it’s true.

 * [http://wsgiarea.pocoo.org/colubrid/ 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.

 * [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://pythonpaste.org/webkit/ Paste WebKit] - a [http://w4py.org Webware] reimplementation, implemented with a degree of framework-neutrality in mind.

 * [http://pythonpaste.org/wareweb/ Wareweb] - a rethinking of Webware/WebKit
Line 10: Line 56:
 * Nevow - in a branch of its Subversion repository.
 * [http://divmod.org/trac/wiki/DivmodNevow 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://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

 * [http://www.zope.org Zope] Zope 3 is now a WSGI application. It ships with the Twisted
   WSGI server implementation and also includes an asyncore-based server implemenatation.

 * [http://pylonshq.com/ Pylons] - a WSGI-based framework using Mako and Paste

 * [http://www.turbogears.org TurboGears] also provides a WSGI front-end.

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

Web Framework implementations

WSGIImplementations (last edited 2011-01-18 16:31:13 by 89-105-112-41)

Unable to edit the page? See the FrontPage for instructions.