Turbogears is an open source data-driven dynamic web application framework written in Python. From the start it was designed to be a complete solution that combined all the best-of-breed components of other Python web application frameworks.
The TurboGears project was launched in 2005 by Kevin Dangoor to support still unreleased Zesty News product. The TurboGears project is now led jointly by Mark Ramm and Florent Aide.
The TurboGears 2 had its first stable release in May 2009. Essentially it is a reinvention of the TurboGears project to take advantage of new components, and to provide a fully customizable WSGI (Web Server Gateway Interface) stack. The development progresses at a moderate but steady pace.
TurboGears dynamic web framework
TurboGears represents the synergetic union of multiple web Python-based technologies. The framework provides the all-out set of tools to develop data-driven, extensible web applications in minutes - all with user-friendly templating, easy AJAX on the browser side and on the server side, and a powerful and flexible Object Relational Mapper (ORM). TurboGears is built on top of numerous diverse libraries and middleware. The default tools have changed between the 1.x and 2.x series, but most of them are supported in either as alternate configurations.
Distinct features
- Real multi-database support
- MVC-style framework
- SQLObject and SQLAlchemy support
- Preferred templating languages include Kid and Genshi
- FormEncode for validation
- Pylons as a web server
- ToscaWidgets is a full-featured applicaton library that is used to simplify coordinating front end design with server development.
- Paste Script templates for project creation
- Front-facing WSGI-based servers (such as CherryPy's WSGI/HTTP server, Paste's HTTP server).
- Controller uses a plain function, plus many decorators to alter the behavior of the function.
- Configuration in TurboGears uses CherryPy conventions.
- TurboGears features are implemented as function decorators.
- Command-line tools
- Integration with the MochiKit Javascript library.
Future state
The TurboGears project is now focused primarily on the 2.x branch. The 1.x branch will be supported for the next few years. A future 1.1 release will change the default ORM and templating language to match the 2.x series. TurboGears may join the Pylons project and Pyramid framework. Pyramid will serve as the core base with minimal dependencies and then TurboGears 3 (TurboPyramid, Orion) will be a full-stacked option. However, the official TurboGears 2 documentation states that this is an unlikely event due to the "different, but compatible priorities" of both frameworks. Pylons focus is put on low level, extensible design while TurboGears objective is to provide a full-scale, flexible, user-friendly package.
You may find out more about the project by visiting its official website: turbogears.org
We use state-of-the-art technologies to deliver custom web applications for your business. Contact us today to request a quote and learn more about our Python development services.