Differences between revisions 58 and 59
Revision 58 as of 2008-05-23 14:49:26
Size: 4968
Editor: n00
Comment:
Revision 59 as of 2008-11-15 13:59:39
Size: 5040
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
See [http://www.python.org/peps/pep-0333.html PEP 333] for more information on WSGI. See [[http://www.python.org/peps/pep-0333.html|PEP 333]] for more information on WSGI.
Line 11: Line 11:
 * [http://divmod.org/trac/wiki/DivmodNevow Divmod Nevow] Twisted Web-based templating framework with a WSGI implementation  * [[http://divmod.org/trac/wiki/DivmodNevow|Divmod Nevow]] Twisted Web-based templating framework with a WSGI implementation
Line 13: Line 13:
 * [http://wiki.secondlife.com/wiki/Eventlet/Documentation#Using_eventlet.wsgi 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  * [[http://wiki.secondlife.com/wiki/Eventlet/Documentation#Using_eventlet.wsgi|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
Line 15: Line 15:
 * [http://www.saddi.com/software/flup/ flup] has AJP, SCGI and FastCGI servers  * [[http://www.saddi.com/software/flup/|flup]] has AJP, SCGI and FastCGI servers
Line 19: Line 19:
 * [http://isapi-wsgi.python-hosting.com isapi_wsgi] - a WSGI implementation for IIS ISAPI  * [[http://isapi-wsgi.python-hosting.com|isapi_wsgi]] - a WSGI implementation for IIS ISAPI
Line 21: Line 21:
 * [http://www.xhaus.com/modjy modjy] - a WSGI implementation for Jython  * [[http://www.xhaus.com/modjy|modjy]] - a WSGI implementation for Jython
Line 23: Line 23:
 * [http://code.google.com/p/modwsgi/ mod_wsgi] module for Apache  * [[http://code.google.com/p/modwsgi/|mod_wsgi]] module for Apache
Line 25: Line 25:
 * [http://wiki.codemongers.com/NginxNgxWSGIModule?highlight=%28wsgi%29 nginx mod_wsgi] module for Nginx  * [[http://wiki.codemongers.com/NginxNgxWSGIModule?highlight=%28wsgi%29|nginx mod_wsgi]] module for Nginx
Line 27: Line 27:
 * [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://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]]
Line 29: Line 29:
 * [http://pythonpaste.org/module-paste.httpserver.html Paste#http] a SimpleHTTPServer-based server  * [[http://pythonpaste.org/module-paste.httpserver.html|Paste#http]] a SimpleHTTPServer-based server
Line 31: Line 31:
 * see [http://mail.python.org/pipermail/web-sig/2006-January/001859.html Python Paste] below  * see [[http://mail.python.org/pipermail/web-sig/2006-January/001859.html|Python Paste]] below
Line 33: Line 33:
 * [http://www.idyll.org/~t/www-tools/wsgi/ SWAP] - a WSGI adapter for [http://www.mems-exchange.org/software/scgi/ SCGI].  * [[http://www.idyll.org/~t/www-tools/wsgi/|SWAP]] - a WSGI adapter for [[http://www.mems-exchange.org/software/scgi/|SCGI]].
Line 35: Line 35:
 * [http://twistedmatrix.com/projects/web2 Twisted Web2] Experimental HTTP server with a WSGI implementation  * [[http://twistedmatrix.com/projects/web2|Twisted Web2]] Experimental HTTP server with a WSGI implementation
Line 37: Line 37:
 * [http://pyds.muensterland.org/wiki/toolserver.html Toolserver Framework for Python] - a WSGI implementation in a Medusa-based webservice framework  * [[http://pyds.muensterland.org/wiki/toolserver.html|Toolserver Framework for Python]] - a WSGI implementation in a Medusa-based webservice framework
Line 39: Line 39:
 * [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://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.)
Line 48: Line 48:
 * [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://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.
Line 50: Line 50:
 * [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.djangoproject.com/|Django]] - An emerging framework generating a lot of buzz that has [[http://code.djangoproject.com/changeset/169|recently added support]] for WSGI
Line 52: Line 52:
 * [http://st0rm.hopto.org/wsgi/ Jonpy] - this also includes a HTTP server with a WSGI backend  * [[http://st0rm.hopto.org/wsgi/|Jonpy]] - this also includes a HTTP server with a WSGI backend
Line 54: Line 54:
 * [http://divmod.org/trac/wiki/DivmodNevow Nevow] - the reimplementation of Twisted's woven, doesn't require Twisted.  * [[http://divmod.org/trac/wiki/DivmodNevow|Nevow]] - the reimplementation of Twisted's woven, doesn't require Twisted.
Line 56: Line 56:
 * [http://pythonpaste.org/webkit/ Paste WebKit] - a [http://w4py.org Webware] reimplementation, implemented with a degree of framework-neutrality in mind.  * [[http://pythonpaste.org/webkit/|Paste WebKit]] - a [[http://w4py.org|Webware]] reimplementation, implemented with a degree of framework-neutrality in mind.
Line 58: Line 58:
 * [http://www.pythonweb.org Python Web Modules] - New version contains a WSGI server and middleware.  * [[http://www.pythonweb.org|Python Web Modules]] - New version contains a WSGI server and middleware.
Line 60: Line 60:
 * [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/|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.
Line 62: Line 62:
 * [http://pylonshq.com/ Pylons] - a WSGI-based framework using Mako and Paste  * [[http://pylonshq.com/|Pylons]] - a WSGI-based framework using Mako and Paste
Line 64: Line 64:
 * [http://www.idyll.org/~t/www-tools/wsgi/ QWIP] - a WSGI adapter for [http://quixote.ca/ Quixote] applications.  * [[http://www.idyll.org/~t/www-tools/wsgi/|QWIP]] - a WSGI adapter for [[http://quixote.ca/|Quixote]] applications.
Line 66: Line 66:
 * [http://www.turbogears.org TurboGears] also provides a WSGI front-end.  * [[http://www.turbogears.org|TurboGears]] also provides a WSGI front-end.
Line 68: Line 68:
 * [http://pythonpaste.org/wareweb/ Wareweb] - a rethinking of Webware/WebKit  * [[http://pythonpaste.org/wareweb/|Wareweb]] - a rethinking of Webware/WebKit
Line 70: Line 70:
 * [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.owlfish.com/software/wsgiutils/|WSGIUtils]] - A multi-threaded WSGI server implementation and a simple framework providing basic user authentication, signed cookies, and persistent sessions.
Line 72: Line 72:
 * [http://www.zope.org Zope] Zope 3 is now a WSGI application. It ships with the Twisted  * [[http://www.zope.org|Zope]] Zope 3 is now a WSGI application. It ships with the Twisted

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

  • SWAP - a WSGI adapter for SCGI.

  • 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

  • QWIP - a WSGI adapter for Quixote applications.

  • TurboGears also provides a WSGI front-end.

  • Wareweb - a rethinking of Webware/WebKit

  • 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.

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

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