By James Cooley - October 02 2006 tags: turbogears python

I've never been one to jump on a bandwagon and here's another case. The blogsphere says I should use Rails but I'd prefer a framework based on Python. The week Python's creator has come out in favor of Django I decide to jump on TurboGears. TurboGears is in beta at the moment but it's a mega-framework around a suite of existing python components so pretty usable. All of these frameworks you will be productive in a day or so but the problem is always how do you extend them. That's what I like about TurboGears widgets. A widget is a type of component that requires minimal installation and takes care of it's own dependencies. All you have to do is add ${widget.display()} to your page and turbogears imports JavaScript, etc. for you.
The turbogears documentation is in a bit of chaos at the moment but if you have Python and ez_install here's a set of rough notes I made on how to install widgets on your box. Otherwise the see the full installation instructions.

To upgrade to the latest ez_setup.py use 
      python ez_setup.py -U setuptools
To upgrade tg use

easy_install -Uf http://www.turbogears.org/download/index.html TurboGears

Create a sample application called dashboard
     tg-admin quickstart dashboard

This creates a project called dashboard. cd to dashboard and 
use the toolbox to browse widgets and create database
     tg-admin toolbox
Click on widget browser and see the 20 or so widgets 
including "AJAX Form". This is the best way to discover how it works. To install a widget such as Lightbox use 
   easy_install Lightbox 
Lots of stand-alone JavaScript libs are available as widgets such as Select-Shuttle, TurboTinyMCE, DOMinclude and Plotkit - the full list is in the TurboGears CogBin. It's all pretty cool and should make components really easy.