ANN: Snakelets 1.35 (simple-to-use web app server with dynamic pages)

Irmen de Jong irmen at -nospam-remove-this-xs4all.nl
Mon Oct 11 17:44:55 EDT 2004


Alan Kennedy wrote:
> Irmen,
> 
> Thanks for your all your great work on Snakelets.

You're welcome, it's been a pleasure to do so :)


> Have you considered maybe porting Snakelets to WSGI? WSGI is a new 
> server/gateway standard for portability of python web frameworks, and is 
> specified in PEP 333.
> 
> http://www.python.org/peps/pep-0333.html

Errm, I was only very vaguely aware of something like the WSGI,
and apparently totally missed the surfacing of PEP 333.
Thanks for dropping the link, I will certainly study it.

Based upon your comments below, I'm almost certain that there
will be some form of WSGI in a future Snakelets version.

Disclaimer for the next few questions: I haven't yet read PEP-333.

> WSGI specifies a HTTP API which is implementable on most conceivable web 
> platforms. Code built on this API is fully portable to
[...]

Does it achieve this by providing a least common denominator featureset?
How does it deal with the way the server is structured (threading,
sessions, shared resources)?  I'm sorry- if this is in PEP-333, I'll
find out soon enough :)

> Porting to WSGI would bring the following benefits
> 
> 1. The ability to run Snakelets under any WSGI server/gateway, e.g. 
> mod_python, CGI, BaseHTTPServer, etc, etc. (No WSGI adapters seem to 
> exist for Twisted, Medusa or Zope though: the asynch API is still under 
> discussion on the web-sig).

Users of asynch-API servers usually smile broadly when confronted with
worried users of 'old-skool' multiprocessing or multithreading servers.
It is my understanding that the latter server type (which Snakelets is
also a part of) doesn't scale very well to many concurrent connections.
If that is true, it seems to me that WSGI should somehow also provide
for the asynch programming style, because the "big guys" will be using
that one? Or am I way off here?


> 2. The ability to factor out the need (and maintenance burden, security 
> exposure, etc) for a custom standalone server, i.e. instead use a 
> standard server, e.g. BaseHTTPWSGIServer, and get automatic threading or 
> forking support, etc.

I'm not sure how WSGI should help me achieve this. I thought that it
was an API for web application builders.... not for the implementors
of the application server?


> 3. Possibly run Snakelets on Java/Jython! The latter is only possible if 
> Snakelets is 2.1 compliant, i.e. does not use python 2.2 or 2.3 features.

Too bad, I'm using generators (amongst others) and those are unavailable
in Python 2.1.  I have no intentions of backporting to Python 2.1.


> I have high hopes for WSGI to help simplify the confusing landscape of 
> server platforms upon which python web frameworks can and cannot run. 

It certainly sounds promising.


Cheers!
--Irmen.



More information about the Python-list mailing list