When comparing TurboGears 2 vs Bottle, the Slant community recommends Bottle for most people. In the question“What are the best general-purpose Python web frameworks usable in production sites?” Bottle is ranked 3rd while TurboGears 2 is ranked 8th. The most important reason people chose Bottle is:
Bottle works around the one-file approach, everything is done in a `bottle.py` file. This means that it's extremely easy to share and upload your application since it practically is just one python file.
Ranked in these QuestionsQuestion Ranking
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 Single-file distribution
Bottle works around the one-file approach, everything is done in a
bottle.py file. This means that it's extremely easy to share and upload your application since it practically is just one python file.
Being a small one file distribution it includes almost every vital thing you need to support little websites (routing, templating). Everything else can be implemented using plugins.
Pro No need to install
It is so little there's no need to install, it is included in the standard libs python.
Pro Async, *let friendly
Using it with gevent is a breeze. It's a WSGI app so it's easy to make it work with anything.
Pro Truly magnificent
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. Difficult to find online docs and examples
Con Very hard to develop projects that are not smaller than 1000 lines
While Bottle is a great framework for building small applications (generally less than 1000 lines of code), it starts getting very hard to manage your application if you want to go even a bit larger than that.
The fact that it follows a single-file distribution model and that it's missing something like Flask's blueprints only make this problem worse.