TurboGears 2 and CherryPy

Some people have been asking me why we decided to go with Paste over CherryPy 3 for the foundation of TurboGears 2.

Unfortunately I don’t think we actually made a choice between CherryPy 3 and Paste, certainly not one based on a detailed technical analysis. There are a lot of things to like about both frameworks: CherryPy has a clean API and well integrated components with a unified OO approach, and clearly Robert Brewer put a lot of work into improved stability and performance; Paste is more of a loosely coupled set of WSGI tools that could be used to build a framework than it is a framework itself. So, both are strong candidates for inclusion in a best-of-breed, full-stack, web framework.

But the choice wasn’t between CherryPy and Paste, it was also between working with Ben Bangert and the pylons team, or duplicating some of their efforts. For example, we found out that Ben was building a next generation Authentication/Authorization library which was highly influenced by the Identity API. Working directly with Paste and Pylons meant that we could gain the benifits of that work for free. The same thing happened with Internationalization when Babel came out, either TG and Pylons would have to integrate Babel, or if we worked more closely together we could both do it at once.

So, ultimately the choice to do TG2 on top of Pylons,wasn’t a rejection of CherryPy, at all. It was an afirmation of the huge value of working closely together with the Pylons folks.

1 Response to “TurboGears 2 and CherryPy”


  1. 1elvelind grandin

    So what you’re saying is, “don’t bother me about getting tg2 to use cp3, bother Ben to have pylons use cp3″ ;)

Comments are currently closed.