Servers which support WSGI ========================== This is an alphabetic list of WSGI servers. In some cases these are WSGI-only systems, in other cases a package includes a server. Please feel free to expand the list or descriptions. Direct links to documentation on how to use the server is especially appreciated. `ajp-wsgi `_ A threaded/forking WSGI server implemented in C (it embeds a Python interpreter to run the actual application). It communicates with the web server via AJP, and is known to work with `mod_jk `_ and `mod_proxy_ajp `_. Also available in an SCGI flavor. `Aspen `_ A pure-Python web server (using the CherryPy module mentioned next) with three hooks to hang your WSGI on. `Bjoern `_ A “screamingly fast Python WSGI server” and boasts that it is “the fastest, smallest and most lightweight WSGI server.” See performance testing `testing WSGI servers with wrk `_ See the `install instructions `_ `cherrypy.wsgiserver `_ CherryPy's "high-speed, production ready, thread pooled, generic WSGI server." Includes SSL support. Supports Transfer-Encoding: chunked. For details on running foreign (non-CherryPy) applications under the CherryPy WSGI server, see `WSGI Support `_. See also the `CherryPy wiki ModWSGI page `_. `chiral.web.httpd `_ A fast HTTP server supporting WSGI, with extensions for Coroutine-based pages with deeply-integrated COMET support. `cogen.web.wsgi `_ WSGI server with extensions for coroutine oriented programming. `FAPWS `_ Fapws is a WSGI binding between Python and `libev `_. See also: `author's block `_, `GoogleGroup `_. `fcgiapp `_ fcgiapp is a Python wrapper for the C FastCGI SDK. It's used by PEAK's FastCGI servers to provide WSGI-over-FastCGI. `flup `_ Includes threaded and forking versions of servers that support FastCGI, SCGI, and AJP protocols. `gevent-fastcgi `_ WSGI-over-FastCGI server implemented using `gevent `_ coroutine-based networking library. Supports FastCGI connection multiplexing. Includes adapters for Django and other frameworks that use PasteDeploy. `Gunicorn `_ WSGI HTTP Server for UNIX, fast clients and nothing else. This is a port of Unicorn_ to Python and WSGI. `ISAPI-WSGI `_ An implementation of WSGI for running as a ISAPI extension under IIS. `James `_ James provides a very simple multi-threaded WSGI server implementation based on the HTTPServer from Python's standard library. (*unmaintained*) `Julep `_ A WSGI Server inspired by Unicorn_, written in pure Python. `m2twisted `_ WSGI server built with M2Crypto and twisted.web2 with some SSL related tricks. Used with client side smart cards and it is also possible to run the HTTPS server with a key in a HSM (like a crypto token) `modjy `_ Modjy is a java servlets to WSGI gateway that enables the running of `jython `_ WSGI applications inside `java servlet containers `_. `mod_wsgi `_ Python WSGI adapter module for Apache `NWSGI `_ NWSGI is a .NET implementation of the Python WSGI specification for IronPython and IIS. This makes it easy to run Python web applications on Windows Server. This is a potential alternative to ISAPI + ISAPI_WSGI modules. `netius `_ Netius is a Python network library that can be used for the rapid creation of asynchronous non-blocking servers and clients. It has no dependencies, it's cross-platform, and brings some sample netius-powered servers out of the box, namely a production-ready WSGI server. `paste.httpserver `_ Minimalistic threaded WSGI server built on BaseHTTPServer. Doesn't support Transfer-Encoding: chunked. `phusion passenger `_ "proof of concept" WSGI since 2008 (1.x), support upgraded to "beta" in version 3 (with limitations e.g. requires Ruby even when unused) and first-class in Passenger 4. `python-fastcgi `_ python-fastcgi is a lightweight wrapper around the Open Market FastCGI C Library/SDK. It includes threaded and forking WSGI server implementations. `Spawning `_ .. n/a `twisted.web `_ A WSGI server based on Twisted Web's HTTP server (requires Twisted 8.2 or later). `unit `_ A new lightweight declarative-configuration application server by NGINX, Inc, with `built-in first-class support for WSGI (and ASGI) `_, including websocket support. `uWSGI `_ Fast, self-healing, developer-friendly WSGI server, meant for professional deployment and development of Python Web applications. `werkzeug.serving `_ Werkzeug's multithreaded and multiprocessed development server. Wraps wsgiref_ to add a reloader, multiprocessing, static files handling and SSL. `wsgid `_ Wsgid is a generic WSGI handler for mongrel2_ webserver. Wsgid offers a complete daemon environment (start/stop/restart) to your app workers, including automatically re-spawning of processes. `WSGIserver `_ WSGIserver is a high-speed, production ready, thread pooled, generic WSGI server with SSL support for both Python 2 (2.6 and above) and Python 3 (3.1 and above). WSGIserver is a one file project with no dependency. `WSGIUtils `_ Includes a threaded HTTP server. `wsgiref `_ (`Python 3 `_) Included as part of thef standard library since Python 2.5; it includes a threaded HTTP server, a CGI server (for running any WSGI application as a CGI script), and a framework for building other servers. For versions prior to Python 2.5, see `wsgiref's original home `_. .. _Unicorn: http://unicorn.bogomips.org/ .. _mongrel2: http://mongrel2.org .. _Rack http://rack.github.com/