469,923 Members | 1,856 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,923 developers. It's quick & easy.

What is your favorite Python web framework?

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 :)
Jul 21 '05 #1
28 4541
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
Jul 21 '05 #2
On Sun, 17 Jul 2005 19:15:49 -0300, Sybren Stuvel
<sy*******@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!!

--
Thanks,

Admin.
Want to buy me a book? http://tinyurl.com/78xzb :)
Jul 21 '05 #3
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.

Jul 21 '05 #4

http://cheetahtemplate.org/

Admin wrote:
On Sun, 17 Jul 2005 19:15:49 -0300, Sybren Stuvel
<sy*******@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!!


Jul 21 '05 #5
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/

Jul 21 '05 #6
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

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
Jul 21 '05 #7
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?

Jul 21 '05 #8
JZ
Dnia 18 Jul 2005 00:52:40 -0700, laurent napisa³(a):
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/


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

--
JZ
Jul 21 '05 #9
JZ
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
Jul 21 '05 #10

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

Jul 21 '05 #11
On Mon, 18 Jul 2005 08:45:22 -0300, JZ <us****@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 :(

--
Thanks,

Admin.
Want to buy me a book? http://tinyurl.com/78xzb :)
Jul 21 '05 #12
JZ
Dnia Mon, 18 Jul 2005 09:26:10 -0300, Admin napisa³(a):
On Mon, 18 Jul 2005 08:45:22 -0300, JZ <us****@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
Jul 21 '05 #13
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"?
Jul 21 '05 #14
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 :)

--
Thanks,

Admin.
Want to buy me a book? http://tinyurl.com/78xzb :)
Jul 21 '05 #15
On Mon, Jul 18, 2005 at 09:06:21AM -0400, Peter Hansen wrote:
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"?


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 - gh@ghaering.de - Python, web & database development

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFC2633dIO4ozGCH14RAmnqAJ4qCMBjzt0IkHU92yevtT XrxJbg5ACfYB/R
7zggzVTEC00QlpUn1pnwJ0c=
=Z6x0
-----END PGP SIGNATURE-----

Jul 21 '05 #16
JZ
Dnia Mon, 18 Jul 2005 09:06:21 -0400, Peter Hansen napisa³(a):
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"?


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

--
JZ
Jul 21 '05 #17
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
Jul 21 '05 #18
Peter Hansen wrote:
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


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

Jul 21 '05 #19
Luis M. Gonzalez wrote:
Peter Hansen wrote:
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

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

You're right on!.

Colin W.
Jul 21 '05 #20
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.

Jul 21 '05 #21
On Mon, 18 Jul 2005 16:21:37 -0300, Jeff Shell <eu*********@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?

--
Thanks,

Admin.
Want to buy me a book? http://tinyurl.com/78xzb :)
Jul 21 '05 #22
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
Sc***********@Acm.Org
Jul 21 '05 #23
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/200...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

Jul 21 '05 #24
On 2005-07-17, Admin <me@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
Jul 21 '05 #25
You may want to check out Quixote....
http://www.mems-exchange.org/software/quixote/

A.

Jul 22 '05 #26
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
Jul 23 '05 #27
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
Jul 23 '05 #28
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/f...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
tl*****@gmail.com
http://apipes.blogspot.com

Jul 25 '05 #29

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

226 posts views Thread by Stephen C. Waterbury | last post: by
14 posts views Thread by ketulp_baroda | last post: by
17 posts views Thread by mike | last post: by
92 posts views Thread by Reed L. O'Brien | last post: by
6 posts views Thread by UhihaJax | last post: by
8 posts views Thread by emrahayanoglu | last post: by
6 posts views Thread by Anastasios Hatzis | last post: by
reply views Thread by xahlee | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.