What is your favorite Python web framework?

7 views
Skip to first unread message

Admin

unread,
Jul 17, 2005, 6:03:42 PM7/17/05
to
I am doing some research for a Python framework to build web applications.
I have discarted Zope because from what I've read, the learning curve is
too steep, and it takes more time to build applications in general with
Zope.
I have kept the following:

- PyWork - http://pywork.sourceforge.net (Not sure if it's mature)
- Django - http://www.djangoproject.com (Looks interesting)
- CherryPy - http://www.cherrypy.org (Unsure)

I have also found a more comprehensive list here:
http://wiki.python.org/moin/WebProgramming
But I'd like to know your opinion on what you think is best. The Python
framework I'll use will be to build an e-commerce application looking like
Amazon.com
I favor speed of development, intensive OO development, performance under
heavy load, short learning curve, good documentation and community.

--
Thanks,

Admin.
Want to buy me a book? http://tinyurl.com/78xzb :)

Sybren Stuvel

unread,
Jul 17, 2005, 6:15:49 PM7/17/05
to
Admin enlightened us with:

> But I'd like to know your opinion on what you think is best. The
> Python framework I'll use will be to build an e-commerce
> application looking like Amazon.com

I'm greatly in favour of Cheetah. Also see
http://www.unrealtower.org/mycheetah. I need to put up way more
documentation & examples, but the basics are there.

Let me know what you think!

Sybren
--
The problem with the world is stupidity. Not saying there should be a
capital punishment for stupidity, but why don't we just take the
safety labels off of everything and let the problem solve itself?
Frank Zappa

Admin

unread,
Jul 17, 2005, 6:37:34 PM7/17/05
to
On Sun, 17 Jul 2005 19:15:49 -0300, Sybren Stuvel
<sybr...@YOURthirdtower.com.imagination> wrote:

> http://www.unrealtower.org/mycheetah

"Error 404 while looking up your page AND when looking for a suitable 404
page. Sorry!
No such file /var/www/www.unrealtower.org/compiled/error404.py"

I can't express myself on Cheetah, sorry!!

Luis M. Gonzalez

unread,
Jul 17, 2005, 6:58:15 PM7/17/05
to
I really like Karrigell ( http://karrigell.sourceforge.net ).
It is, IMHO, the most pythonic framework because all you need to know
is the python language.
You don't need to learn any template or special language, you only use
plain and regular python.
It also gives you a lot of freedom when choosing a programming style:
you can code python inside html (just like in PHP or ASP) or you can
code html within python.

It also lets you map databases to objects and you can use the included
database Gadfly or any other that has a python api.
The downside: it currectly works with its built-in server, and although
you can use it alongside Apache or Xitami, there's still no way to do
it with mod_python, and as far as I know, there's no hosting providers
with Karrigell instaled.
It is being used mainly by people who run their websites from their own
computers.

Philippe C. Martin

unread,
Jul 17, 2005, 10:31:38 PM7/17/05
to

laurent

unread,
Jul 18, 2005, 3:52:40 AM7/18/05
to
hello,
I follow somes projects that have a pythonic way to make web site.
there's thats projects :
http://www.cherrypy.org/
and
http://subway.python-hosting.com/
subway aim to be like ruby on rails frameworks , simple and fast
developpment. It uses cherrypy and other project like :
* http://www.cheetahtemplate.org/
* http://www.formencode.org/
* http://www.sqlobject.org/

Sybren Stuvel

unread,
Jul 18, 2005, 3:53:14 AM7/18/05
to
Admin enlightened us with:

> "Error 404 while looking up your page AND when looking for a suitable 404
> page. Sorry!
> No such file /var/www/www.unrealtower.org/compiled/error404.py"

You must have caught me editing some stuff, try again ;-)

I really need to create another virtual host for when I want to
experiment with my scripts and stuff :D

paron

unread,
Jul 18, 2005, 7:24:12 AM7/18/05
to
Admin:

>I have kept the following:


> - PyWork - http://pywork.sourceforge.net (Not sure if it's mature)
> - Django - http://www.djangoproject.com (Looks interesting)
> - CherryPy - http://www.cherrypy.org (Unsure)


>I have also found a more comprehensive list here:
>http://wiki.python.org/moin/WebProgramming
>But I'd like to know your opinion on what you think is best.

.
.
.


>I favor speed of development, intensive OO development, performance under
>heavy load, short learning curve, good documentation and community.

I settled on CherryPy:

Performance under load -- can't say one way or the other. I do know
it's lightweight -- 40kb download, I recall.

Good documentation -- yeah, if you are using the "mainstream" features.
It's pretty extensible, too, so there are some "secondary" functions
and features that are not as well documented. I know that the
documentation is a major concern of the oommunity, and that they are
pretty quick to respond when the docs are unclear.

I give CherryPy very high marks for: speed of development, intensive OO
development, short learning curve (if you already know Python), and
community. And, as I said, for extensibility.

I found I had working apps running on my machine with CherryPy in less
time than I needed to read the installation docs on some other
frameworks. It's just like writing Python, but with one extra object
(cpg (2.0) or cherrypy (2.1) and one extra setting ("exposed = True").
That's it. I'd say give it a try -- you can have it running apps and go
through the tutorials in a morning, so why not get first-hand with it?

JZ

unread,
Jul 18, 2005, 7:27:04 AM7/18/05
to

I think Django is more mature than Subway or CherryPy and can quickly
become the black horse in area of pythonic frameworks.

--
JZ

JZ

unread,
Jul 18, 2005, 7:45:22 AM7/18/05
to
Dnia 18 Jul 2005 04:24:12 -0700, paron napisał(a):

>>I favor speed of development, intensive OO development, performance under
>>heavy load, short learning curve, good documentation and community.
>
> I settled on CherryPy:
>
> Performance under load -- can't say one way or the other. I do know
> it's lightweight -- 40kb download, I recall.

I do not know how new CherryPy 2.1 (which now can use wsgi) is fast and
stable but earler versions were quite unstable under heavy loads. Its
paradigm "creating web site like standalone appl" (inherited from Cherry1)
is not good suited to more complicated internet applications.

Much more stable and much faster is e.g. Mygty (http://myghty.org) It is
about 2x faster then CherryPy. Also faster than CherryPy is Webware and
SkunkWeb. I did not check how fast is Django... It is fresh framework for
open source community.

--
JZ

Michael Maibaum

unread,
Jul 18, 2005, 7:40:10 AM7/18/05
to pytho...@python.org

On 18 Jul 2005, at 10:29, Cyril Bazin wrote:

> Hello,
>
> I never used a web framework using Python modules, but I think
> cheetah, Karrigel and CherryPy are not good since they allow user
> to play with the HTML code. IMO, it's not pythonic but phpythonic.

Well, pretty much anything would allow that, it is more a matter of
how much they encourage it ;)

I find the cherrypy + HTML Template combination pretty resistant to
excessive HTML in the Python, or Python in the HTML.

One day when I get some time I'll have a look at Django, though I
must say the templating language looked less nice than the rest of it
on first glance, it says you don't have to use it though...


Michael

Admin

unread,
Jul 18, 2005, 8:26:10 AM7/18/05
to
On Mon, 18 Jul 2005 08:45:22 -0300, JZ <use...@zabiello.com> wrote:

> Much more stable and much faster is e.g. Mygty (http://myghty.org) It is
> about 2x faster then CherryPy. Also faster than CherryPy is Webware and
> SkunkWeb. I did not check how fast is Django... It is fresh framework for
> open source community.

Mmmh... I really don't know which one is better :(

JZ

unread,
Jul 18, 2005, 8:41:08 AM7/18/05
to
Dnia Mon, 18 Jul 2005 09:26:10 -0300, Admin napisał(a):

> On Mon, 18 Jul 2005 08:45:22 -0300, JZ <use...@zabiello.com> wrote:
>
>> Much more stable and much faster is e.g. Mygty (http://myghty.org) It is
>> about 2x faster then CherryPy. Also faster than CherryPy is Webware and
>> SkunkWeb. I did not check how fast is Django... It is fresh framework for
>> open source community.
>
> Mmmh... I really don't know which one is better :(

Django has similar aproach to Rails or Subway. Myghty is similar to
Perl::Mason. I think those two are the most matured and powerfull. (I do
not mean Zope and Plone which is specific to its own category)

--
JZ

Peter Hansen

unread,
Jul 18, 2005, 9:06:21 AM7/18/05
to
JZ wrote:
> I think Django is more mature than Subway or CherryPy and can quickly
> become the black horse in area of pythonic frameworks.

I'm not familiar with this expression. What do you mean by "black horse"?

Admin

unread,
Jul 18, 2005, 9:15:58 AM7/18/05
to
On Mon, 18 Jul 2005 10:06:21 -0300, Peter Hansen <pe...@engcorp.com> wrote:

> I'm not familiar with this expression. What do you mean by "black
> horse"?

That will help me too :)

Gerhard Haering

unread,
Jul 18, 2005, 9:26:15 AM7/18/05
to pytho...@python.org

Maybe "the Ferrari of pythonic frameworks" (black horse on yellow
background being the symbol of Ferrari).

That's what I thought of first when I tried to parse the sentence ;-)

-- Gerhard
--
Gerhard Häring - g...@ghaering.de - Python, web & database development

signature.asc

JZ

unread,
Jul 18, 2005, 9:40:36 AM7/18/05
to

I meant "dark horse". Sorry for confusion. :)

--
JZ

Peter Hansen

unread,
Jul 18, 2005, 9:44:00 AM7/18/05
to
Gerhard Haering wrote:
> On Mon, Jul 18, 2005 at 09:06:21AM -0400, Peter Hansen wrote:
>>I'm not familiar with this expression. What do you mean by "black horse"?
>
> Maybe "the Ferrari of pythonic frameworks" (black horse on yellow
> background being the symbol of Ferrari).

I know there are "black sheep" in some families, and "dark horse
candidates". Also yellow-bellied sapsuckers. There's a "black horse"
fish in the Mississippi valley (also, quite coincidentally, of the
sucker family). Not entirely sure that was the intended connotation. :-)

-Peter

Luis M. Gonzalez

unread,
Jul 18, 2005, 1:18:20 PM7/18/05
to

I'm used to make those mistakes too...
This mailing list taught me more English than Python for sure.
I read the expression "Dark horse contender" many times, and i guess it
has some reminiscence from medieval times and the cavalry stories.
It meaning is something like the "unknown that could be the new champ",
someone intriguing and mysterious who doesn't unveil its skills untill
showtime. Am I right?

Cheers,
Luis

Colin J. Williams

unread,
Jul 18, 2005, 2:15:30 PM7/18/05
to
You're right on!.

Colin W.

Jeff Shell

unread,
Jul 18, 2005, 3:21:37 PM7/18/05
to
Zope 3, far and away. There's great documentation, quite a few load
handling options (different types of caching and ZEO to distribute ZODB
caches to multiple machines). Zope 3 aggressively favors small
cooperating objects (Zope 2 was inheritance heavy, making
customization, extension, etc, a big chore). There are two books in
print already and it's quite mature already.

Don't discard Zope 3 becaue of what you've heard about Zope 2. Zope 3
is a very different animal.

Admin

unread,
Jul 18, 2005, 4:56:56 PM7/18/05
to
On Mon, 18 Jul 2005 16:21:37 -0300, Jeff Shell <eucci...@gmail.com>
wrote:

> Don't discard Zope 3 becaue of what you've heard about Zope 2. Zope 3
> is a very different animal.

Are Zope 3's learning curve + speed of development a lot faster than
previous versions?

Scott David Daniels

unread,
Jul 18, 2005, 5:19:59 PM7/18/05
to
Luis M. Gonzalez wrote:
> I read the expression "Dark horse contender" many times, and i guess it
> has some reminiscence from medieval times and the cavalry stories.
> It meaning is something like the "unknown that could be the new champ",
> someone intriguing and mysterious who doesn't unveil its skills untill
> showtime. Am I right?
My understanding is that it is a horse-racing phrase. Some unprincipled
racers would dye a horse to disguise him and get better odds. Obviously
this only works to make a horse darker. A "dark horse" is an unknown
quantity -- the phrase is usually only applied to horses that show well
without the normal track record preceding that success.

--Scott David Daniels
Scott....@Acm.Org

bban...@parachute.com

unread,
Jul 18, 2005, 8:38:23 PM7/18/05
to
Admin wrote:
> I am doing some research for a Python framework to build web applications.
> I have discarted Zope because from what I've read, the learning curve is
> too steep, and it takes more time to build applications in general with
> Zope.

I've heard many good things about Zope 3, although nightmares of Zope 2
still haunt me.... :)

> I have kept the following:
>
> - PyWork - http://pywork.sourceforge.net (Not sure if it's mature)
> - Django - http://www.djangoproject.com (Looks interesting)

Some thoughts on Django that I agree with:
http://griddlenoise.blogspot.com/2005/07/python-off-rails.html

> But I'd like to know your opinion on what you think is best. The Python
> framework I'll use will be to build an e-commerce application looking like
> Amazon.com

Amazon.com is built on HTML::Mason, maybe a Python version of it is in
order? Mason has been ported to Python and is called Myghty. It's had
several significant additions as well allowing for a clear MVC
development style with more advanced URL resolving abilities. This
framework runs our company's site (www.parachute.com), and has been
operating under heavy load for quite a few months now without an issue.

> I favor speed of development, intensive OO development, performance under
> heavy load, short learning curve, good documentation and community.

No Python framework has a "huge" community except for Zope. All the
Python frameworks that are under active development typically have very
responsive and helpful support from my experience.

For ease of development and maximum re-use of code, I'd suggest Myghty
coupled with a database ORM like SQLObject (my favorite) and some other
libraries to help you quickly deal with common tasks like form
validation (formencode).

CherryPy is also a very capable framework, so I'd keep it on your list
as well, and maybe check out Subway which utilizes CherryPy, SQLObject,
and Cheetah.

Cheers,
Ben

Dave Cook

unread,
Jul 19, 2005, 1:41:24 AM7/19/05
to
On 2005-07-17, Admin <m...@privacy.net> wrote:

> I favor speed of development, intensive OO development, performance under
> heavy load, short learning curve, good documentation and community.

I like the design of nevow (nevow.com), but I don't have any practical
experiences with other frameworks. The documentation is not very good, but
folks on IRC have been helpful.

Dave Cook

Anthony Tarlano

unread,
Jul 22, 2005, 12:03:07 PM7/22/05
to
You may want to check out Quixote....
http://www.mems-exchange.org/software/quixote/

A.

Dark Cowherd

unread,
Jul 23, 2005, 11:25:21 AM7/23/05
to python
Hi,
I have also been looking around to start web development.
Almost everybody says - "Zope ooooh steep learning curve", so looking
at alternatives. But to people have got past that curve. Is Zope worth
it.

My applications would be data entry heavy. Think inventory and accounting apps.

Would going past the learning curve allow me to write applications like that.

--
Dark Cowherd

Benji York

unread,
Jul 23, 2005, 12:00:39 PM7/23/05
to python
Dark Cowherd wrote:
> My applications would be data entry heavy. Think inventory and accounting apps.
>
> Would going past the [Zope] learning curve allow me to write applications like that.

You might want to look at Zope 3, there are several niceties for
automatically (or semi-automatically if you prefer) generating input
forms, validating them, applying the results to an object, etc.
--
Benji York


Tim Lesher

unread,
Jul 24, 2005, 11:13:13 PM7/24/05
to
I was using CherryPy quite a bit until recently, but I've since
switched to Spyce: http://spyce.sf.net (and blogged it at
http://apipes.blogspot.com/2005/07/first-taste-of-spyce.html).

Spyce has been around since 2002 (so it's fairly stable and mature) but
it's also under active development--a new version just came out a few
weeks ago (so it's not going away).

The main reason I switched was the Spyce templating engine--more
powerful than CherryTemplate, and tons more readable than Cheetah, in
my opinion.

--
Tim Lesher
tle...@gmail.com
http://apipes.blogspot.com

Reply all
Reply to author
Forward
0 new messages