cherrypy/cheetah vs twisted/nevow

Carlos Ribeiro carribeiro at
Mon Nov 1 15:39:24 CET 2004

On 01 Nov 2004 09:36:59 GMT, Charlotte <charlotte at donotspam.invalid> wrote:
> I am developing a web application and am looking for the best framework
> to do this in. I know this is an old question, and I have read the list
> archives and a couple of comparison pages on the web. I played around
> with some, and I have reduced my choices to two very different
> frameworks: cherrypy+cheetah and twisted+nevow.
> I am writing the prototype in cherrypy with cheetah, and I like it
> very much. I am very impressed with the speed of development, and
> cherrypy seems to fit the way I think. Before this I used webware, but
> cherrypy is simpler and easier and does the things I want very well.
> Cherrypy is being completely redesigned at the moment. The 'old'
> version is no longer developed, the new version just had the first
> alpha release. While the new version looks promising, I am uncertain
> that it will be ready for production use very shortly. I can of course
> just use the old version, which is stable.

Hi! That was the same reason that got me hooked on CherryPy: it's
simplicity, and the fact that it seemed so 'obvious' to use. As for
the redesign, I'm already using the CP2 alpha project for a few
projects of mine. None of them is 'life critical', and I'm not using
all features, but it seems very stable to me right now. The main
difference is that CP2 is now 'pure python', with no intermediate
compilation step, which makes it even more natural to use than before.
> Because of my doubt, I went looking for alternatives, and stumbled
> upon nevow. I now absolutely think this is the way a web application
> should be developed. I like the way ui and code is seperated, I love
> formless, and livepage looks very promising.  However, it is still
> beta, and reportedly rather difficult to use.

I'm yet to study nevow, but I'm getting more and more interested. I
have my own approach to separation; I use to think about a third
entity, "structure", as being independent from code & ui. The
structure is the common part; it's the "glue" between ui and code; and
it's the first part to be designed. I'm still experimenting with this
concept. For what I have read so far, nevow seems to follow a similar
approach, although I haven't seen any reference to "structure" as a
third element in the design anywhere.

> The application should have a first version finished in about six
> months. Security is very important. The users of the application are
> fully trusted, so the most important in this regard is authentication
> (and encryption, of course), I think. I could, if needed, just code this
> myself. It is a relatively small application, at most a few thousand
> users, who will not be using the application, much less sending
> requests, at the same time. At the moment I do not expect to use much
> of twisted's great possibilities.

For what I know, twisted is a huge beast, and forces you to a totally
different programming paradigm. There is a wsgi gateway for twisted in
the works, and that may make things simpler for pure web development,
as it will hide some of the inherent complexity of twisted async
design. For my own needs, I still prefer to stay with CherryPy.

Carlos Ribeiro
Consultoria em Projetos
mail: carribeiro at
mail: carribeiro at

More information about the Python-list mailing list