When comparing TurboGears 2 vs CherryPy, the Slant community recommends CherryPy for most people. In the question“What are the best general-purpose Python web frameworks usable in production sites?” CherryPy is ranked 9th while TurboGears 2 is ranked 11th. The most important reason people chose CherryPy is:
It's very easy to choose what processes you want by turning them on or off. You can also configure per-URL as well.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro A powerful and flexible Object Relational Mapper (ORM) with real multi-database support
SQLAlchemy is a powerful ORM which is highly regarded in the Python community. TurboGears' ORM is built with SQLAlchemy, which gives it a great deal of flexibility and power.
Pro Code that is as natural as writing a function
Pro Starts as a microframework and scales up to a fullstack solution
Allows developers to build quick, simple web prototypes or scale up to create complex web applications.
Pro Support for Horizontal data partitioning (aka, sharding)
TurboGears allows for horizontal data partitioning, which allows the division of logical datatabases into smaller elements.
Pro Built in extensibility Pluggable Applications and standard WSGI components
Allows for creating extendable Pluggable Applications which extend the framework itself through endpoints provided by TurboGears.
Pro Validated and compile time checked template engine
The template engine is XHTML based and so is validated for errors when compiled to HTML. You will never serve a broken page again due to a forgotten close tag
Pro Aims for a flexible design
TurboGears2 does not get in your way on how to design your applications, classes etc.
Pro Robust configuration mechanism
It's very easy to choose what processes you want by turning them on or off. You can also configure per-URL as well.
Pro Has production-ready server
Comes with a production level wsgi server that can be used instead of / in addition to gunicorn etc.
Pro Helps you organize the structure of your code
CherryPy provides some dispatcher patterns that support a wide range of functionality and provide some helpful ways of organizing the code.
Cons
Con The great extensibility can feel overwhelming
Sometimes TurboGears' extensibility and feeling of having different options for doing a single thing can feel overwhelming and as if writing everything from scratch.
Con small community
Con Lacking good documentation
CherryPy's documentation could use some work. It generally feels very slim and is seriously lacking in some parts. For a beginner who is just starting with Python Frameworks, working with CherryPy's documentation would be very hard.