WSGI Implementations
There's been a number of implementations of
WSGI in the
last week or so:
-
Alan Kennedy released version 0.2 of
modjy, which is a WSGI
server that runs in a Java servlet container (using Jython).
He's had to deal with some of the issues of implementing WSGI
under Python 2.1, particularly iterators, but he's done some
work to mitigate those problems (in part by simulating the
Python 2.2 interator protocol).
-
Peter Hunt has implemented a Twisted Resource version of the
WSGI server, in addition to some other miscellaneous WSGI code
and tests. It's at
svn://colorstudy.com/trunk/WSGI/phunt, but I can't get to that site at the moment. Using the Twisted
server just requires an import and a single method call (once
Twisted is installed, of course) -- doesn't even seem to require
mktap. For all of these the setup is fairly simple.
-
Phillip Eby (author of the WSGI PEP) has converted his web code
in PEAK (Python
Enterprise Application Kit) to WSGI. It includes a CGI, FastCGI,
and SimpleHTTPServer implementation. FastCGI is a protocol where
the webserver (e.g., Apache) talks to a separate long-running
Python process. SimpleHTTPServer is a
standard library module
that implements a stand-alone HTTP server.
Read more in his mail to Web-SIG. The FastCGI server looks particularly interesting to me.
I think there's a good working set of servers now. To fill it out there
should also be a mod_python
server, an ASP/IIS server, and maybe a Medusa server. I can't think of
any other servers that we really need, except maybe a server for
interactive debugging, and perhaps some other non-production "tool"
servers.
Really the next step is to get some more frameworks ported. I'm
really hoping other frameworks can also be factored into
framework-neutral portions, like I've been working with in
WSGI Webware. But even if not, for most frameworks it should be fairly easy to
port the framework in one big chunk -- any framework that supports a
non-CGI option should be easy to port.
Update: the files from st0rm.hopto.org are now in the
colorstudy repository.
Created 13 Oct '04
Modified 14 Dec '04