Saturday, September 24, 2005

TurboGears

Sigh. It's been a long time since my last post.

Anyway, I've just discovered TurboGears. Looks like a really nice Web development framework - they even have a movie, just like Rails :-) Actually, the site calls it a "megaframework", the idea being that it isn't just another framework, but it's actually a combination of existing frameworks.

The demo (build a Wiki in 20 minutes) is really neat. Things I especially like:
  • It uses CherryPy, which is probably my current favourite web framework for Python.
  • AJAX support built in (via MochiKit)
The database support uses SQLObject, which is pretty cool, although it doesn't support Oracle, which is a shame from my POV. There are ongoing suggestions that Oracle support could be added to SQLObject, though - it seems to be mainly lack of Oracle experience from the current developers, and lack of Oracle experts offering help, that are holding this up. Of course, I could offer help, but I doubt that I'd actually be able to devote the necessary time...

The easy_install setup looks seriously neat. However, I'm still nervous about how it will work alongside my existing Python installation, which has CherryPy and SQLObject already installed as traditional bdist_wininst installers. But I've muttered enough about that on the distutils-sig, and I don't want to be a pain about it. Let's just say that setuptools hasn't really addressed integration with platform package management yet. But I do think that setuptools is the way to go, and now that I have TurboGears as a basis, maybe I can offer some actual help at last (I'm a package user, not a package builder, so I'm stuck until packages start being published which use setuptools).

Definitely one for my "must investigate" list.

2 Comments:

Blogger Kevin Dangoor said...

A couple notes...

Recently on the sqlobject-discuss list, someone has admitted to actually having Oracle support for SQLObject 0.6.1, and he has plans to merge it in to the 0.7 codebase. So, fingers crossed, there should be Oracle support soon.

On a Windows machine, egg installation tends to be easy, since you probably have "root-like" access. Assuming you're not trying to keep old versions of CherryPy and SQLObject around, you can just replace them with the TurboGears eggs.

If you *are* trying to keep CP 2.0 and SQLObject 0.6.1 around, eggs are actually great for that scenario, because they let you have multiple versions installed.

The one trick is that to have multiple versions installed, you'll need to start using pkg_resources.require() to pick out the version you want. Not a big deal, but it's one step beyond the current "just import".

If you're fine with CP2.1 and SQLObject 0.7, you can replace your current CP and sqlobject without any change in code...

September 27, 2005 2:42 pm  
Anonymous Straw Dogs said...

I've been looking into TurboGears myself. You should give one I've found a try. Called Django.

You can get it here:
http://www.djangoproject.com

Its still quite new but its been in use out of the public domain on major news servers for quite a while. Worth a look I think.

September 28, 2005 1:09 am  

Post a Comment

<< Home