Python Web Programming - looking for examples of solid high-traffic sites

Michael Bayer zzzeek at gmail.com
Sun May 20 19:57:59 EDT 2007


On May 16, 5:04 pm, Victor Kryukov <victor.kryu... at gmail.com> wrote:
>
> Our main requirement for tools we're going to use is rock-solid
> stability. As one of our team-members puts it, "We want to use tools
> that are stable, has many developer-years and thousands of user-years
> behind them, and that we shouldn't worry about their _versions_." The
> main reason for that is that we want to debug our own bugs, but not
> the bugs in our tools.

youre not going to find a web development platform in any language at
all where you will not come across bugs.  you will always have to
"worry" about versions.  I have a day job where we worry about bugs
and versions in struts, hibernate, mysql, and spring all day long, and
each of those products probably has more users than all python
frameworks combined (feel free to whomever to bring out numbers, id be
glad to be proven wrong).

The web platform for Python which has the longest running time and the
most thousands-of-whatever hours is Zope (and Plone).  All the others
which are popular today have only a tiny fraction of the in-production
time that Zope has.  so if thats your criterion, then zope is what
you'd probably have to use.

> TurboGears, Django and Pylons are all nice, and provides rich features
> - probably too many for us - but, as far as we understand, they don't
> satisfy the stability requirement - Pylons and Django hasn't even
> reached 1.0 version yet. And their provide too thick layer - we want
> something 'closer to metal', probably similar to web.py -
> unfortunately, web.py doesn't satisfy the stability requirement
> either, or so it seems.

I would seriously reconsider the notion that Pylons is "too thick" of
a layer.  Pylons is quite open ended and non-opinionated.  the
approaches of Pylons and Django couldnt be more different, so I would
suggest digging a little deeper into the various frameworks before
dismissing them on based on shallow judgments.  Also, I understand
reddit is built on web.py, which is pretty high-traffic/proven/etc.

> So the question is: what is a solid way to serve dynamic web pages in
> python? Our initial though was something like python + mod_python +
> Apache, but we're told that mod_python is 'scary and doesn't work very
> well'.

mod_python works fantastically in my experience.  that would satisfy
your requirement of stability as well as "close to the metal".  but
youre going to have to roll your own pretty much everything...theres
only the most rudimdental controller layer, not much of an idea of url
resolution, and of course youd still have to figure out database/
templating.  if you built a whole lot of custom mod_python handlers,
youd be tied to a very specific kind of process model and couldnt
really branch out into something like fcgi/mod_proxy->WSGI etc.

I think you guys have to either be less rigid about your requirements
and be willing to get your hands a little dirtier...web.py does seem
to be the kind of thing you guys would like, but if it has some issues
then youd just have to ....*shudder*....*contribute!* to that project
a little bit.  its sort of par for the course in the field of open
source that youre going to have to be willing to contribute, if not
patches, then at least feedback and test cases to the developers for
issues found.  if youre not willing to do that, you might have to
stick with J2EE for now.





More information about the Python-list mailing list