Pylons vs CherryPy

View: New views
3 Messages — Rating Filter:   Alert me  

Pylons vs CherryPy

by alphadog :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



What are the current "10,00 foot" differences between Pylons and
CherryPy? Googling the web brings up lots of old posts, so I was
wondering what the current state affairs are...

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "cherrypy-users" group.
To post to this group, send email to cherrypy-users@...
To unsubscribe from this group, send email to cherrypy-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: Pylons vs CherryPy

by vthakr :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi Alphadog,

I've been exploring the different Python web solutions for a short
while now trying to find the one that fits my frame of mind best. From
my explorations I can tell give you a few of the major differences
that I have seen.

I consider Pylons to have a framework mentality (vs library which I
feel is CherryPy's approach), meaning that in addition to providing a
library with which you can create a web application, it also tries to
provide a "framework" for the application itself. In other words, it
sets up a skeleton for your application (e.g., directory structure,
default config, scaffolding, etc.). Pylons does provide you with the
tools you need to do create the your application's structure. It also
is a fullstack framework, where it provides you with everything from
the database ORM, to the HTTP library/framework, to the Templating
engine. However, unlike other fullstack frameworks, Pylons does not
force you into a particular template engine or database ORM, but
rather lets you choose the one that you are most comfortable with.
Also, in addition to providing a skeletal structure for you
application, another key feature of a framework is that it tends to be
the main engine behind the application and your job is to write the
outlying bits of code that the engine will call to perform its job. In
other words, with a framework, you tend to write much more passive
code.

CherryPy, in my opinion, is less like a framework and more like a
library. Unlike Pylons (and other frameworks such as Django and Ruby
on Rails), you do not call a set of command line tools that setup a
skeletal structure for your application. Instead, you write a CherryPy
app the same way that you would any other Python application, i.e.,
you include the CherryPy module and use it to create an application.
Obviously writing a CherryPy application is much more active than
creating a web app with a typical framework, so CherryPy is not going
to do things like take care of automatically including the correct
Template for you, but rather you'll have to explicitly suck in your
template and translate it to the proper output. CherryPy is also not
fullstack. So, it essentially provides the tools you need to deal with
a typical HTTP request/response cycle. It does not provide you with a
persistence library (i.e., Database ORM) or a templating engine. These
pieces are up to you to include and thus you have the freedom to
employ whichever solution for these issues that you like.

One other way to think of the two is to think of CherryPy acting as
one of the components that make up Pylons. In the past, the TurboGears
framework did exactly that, it used CherryPy as its main http
request/response engine and pulled in other "best of show" pieces of
the puzzle to create a fullstack framework.

These are the major differences that I've seen thus far in my
explorations. Personally, I prefer the CherryPy way of doing things.
I like to have the bare bones most basic setup that I can have, I
don't particularly like to be told what my directory structure should
look like and, frankly, for a lot of smaller projects these fullstack
frameworks are just overkill. I like what I've seen of Pylons, but if
I have a need for a fullstack framework, I'll probably end up going
with Django instead based on its ease of use.

Hope the above helps out a bit.

Christopher

On Wed, Sep 30, 2009 at 8:47 PM, alphadog <alphadogg@...> wrote:
>
>
> What are the current "10,00 foot" differences between Pylons and
> CherryPy? Googling the web brings up lots of old posts, so I was
> wondering what the current state affairs are...
>
> >
>



--
Christopher Roach
http://christopherroach.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "cherrypy-users" group.
To post to this group, send email to cherrypy-users@...
To unsubscribe from this group, send email to cherrypy-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: Pylons vs CherryPy

by alphadog :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



On Oct 1, 3:02 am, Christopher Roach <vth...@...> wrote:
>
> I've been exploring the different Python web solutions for a short
> while now trying to find the one that fits my frame of mind best. From
> my explorations I can tell give you a few of the major differences
> that I have seen.

Great. You echo what I thought was the case:
- CherryPy: Python HTTP library/minimal web app stack with hooks for
extending it via plugins/tools
- Pylons: similar web stack with some frills pre-selected (ex:
SQLAlchemy, FormEncode)
- TurboGears: see Pylons, different frills
- Django: Somewhat monolithic web stack, which can be both good and bad

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "cherrypy-users" group.
To post to this group, send email to cherrypy-users@...
To unsubscribe from this group, send email to cherrypy-users+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/cherrypy-users?hl=en
-~----------~----~----~----~------~----~------~--~---