|Deletions are marked like this.||Additions are marked like this.|
|Line 13:||Line 13:|
| * [[http://pypi.python.org/pypi/Spawning/| Spawning]] - a wsgi server which supports multiple processes, multiple threads, green threads, non-blocking HTTP io, and automatic graceful upgrading of code.
* [[http://www.tornadoweb.org/|Tornado]] - an open source version of the scalable, non-blocking web server and tools that power FriendFeed.
Web Servers and Python
Python-based Web servers have been available in the standard library for many years (see the BaseHTTPServer, SimpleHTTPServer and CGIHTTPServer modules). To address various issues of scalability, robustness and convenience with such existing servers, other server frameworks and solutions have been developed since that time.
Web Servers written in Python
TwistedMatrix includes a very scalable web server written in Python.
Spawning - a wsgi server which supports multiple processes, multiple threads, green threads, non-blocking HTTP io, and automatic graceful upgrading of code.
Web Servers embedding Python
In addition to the above, some non-Python-based Web servers support Python-based applications by embedding the Python virtual machine for improved performance:
mod_wsgi embeds Python in the Apache HTTP server
ModPython embeds Python in the Apache HTTP server
PyWX embeds Python in AOLServer
Nginx WSGI support module for Nginx HTTP server
Modjy embeds a jython interpreter in Java Servlet containers, e.g. Tomcat, Glassfish, Websphere, etc, and supports WSGI. Distributed with jython since March 2009.
Standard Library Technologies
BaseHTTPServer (along with successors such as DocXmlRpcServer) can be considered as the original Python Web framework, but it really just provides the ability to process HTTP requests and to generate responses using a relatively primitive API. Some WebFrameworks use it as the basis for serving content, however.