Mod_python vs. application server like CherryPy?

fumanchu fumanchu at amor.org
Tue Dec 5 20:05:06 EST 2006


Vincent Delporte wrote:
> I'm still a newbie when it comes to web applications, so would like
> some help in choosing a solution to write apps with Python: What's the
> difference between using running it through mod_python vs. building an
> application server using Python-based tools like CherryPy, Quixote,
> Draco, etc.?

Well, let me start by saying that anything you can build with CherryPy,
you can build with mod_python. In a nutshell, mod_python gives you
access from Python to the Apache API, whereas CherryPy and friends give
you their own API.

I joined the CherryPy development team because I liked CherryPy's API
better, and at the time, needed to deploy my site on IIS, not Apache. I
continue to use the same site, written with CherryPy, but now using
Apache (and even mod_python!) to serve it. CherryPy allows me to focus
on the application layer and leave the server/deployment layer for
another day.

In other words, there's nothing about mod_python that leaves it out of
the "application server" category per se. The publisher handler, in
particular, is an example of an "application server" built on top of
mod_python's base API, and has some strong similarities to CherryPy's
traversal and invocation mechanisms. But IMO CherryPy has a cleaner API
for process control (engines and servers), application composition (via
the object tree and via WSGI), and plugins (like gzip, static content,
and header management).


Robert Brewer
System Architect
Amor Ministries
fumanchu at amor.org




More information about the Python-list mailing list