What Trac Says About Python
I’ve seen several posts recently about Trac, a baby-SourceForge built on top of Python, SQLite, and ClearSilver (a language-neutral HTML templating system). If you haven’t seen it yet, you should check it out: it’s less than 6000 lines of Python (and 1800 lines of HTML template), but offers bug tracking, a wiki, scheduling, a Subversion browser, and more. I’m going to be using it to manage my undergraduates’ projects starting in January 2005, and nine of those undergraduates are going to be working on Trac itself.
That’s the good news. The bad news is that Trac doesn’t use any of the lightweight Python web frameworks that Michelle Levesque is analyzing in her PyWebOff. It talks directly to SQLite (there’s been talk of using SQLObject as a persistence layer, but its poor performance makes that impractical), and its templating system, ClearSilver, is actually written in C. I’m not faulting the guys at Edgewall—they looked at what was out there, and made the right engineering decision. I’m just wondering why, ten years on, the Python community still doesn’t realize how damaging it is to offer half a dozen half-baked alternatives instead of a single clear answer. Freedom of the press, different systems are best for different things, blah blah blah… I don’t buy it any more. I just want the authors of Quxote, Twisted, WebWare, and the rest to sit down, hammer out their differences, and come up with something that’s as technically and socially compelling as RubyOnRails. Hell, I’ll pay for the coffee, if that’s what it takes…
> the Python community still doesn’t
> realize how damaging it is to offer
> half a dozen half-baked alternatives
> instead of a single clear answer.
Replace “the Python community” with “the open-source community” and it will still be true, and even sadder…
Sounds like what you really want is Trac on top of RubyOnRails.
I have to agree with you here. I really do love the idea of developing web applications in Python, but nothing has compelled me as much as Rails, and I haven’t found any good, simple, end to end solutions in Python. Don’t get me wrong — there are a ton of ways to write Python web apps, just none that are as simple and compelling as Rails.
I like Python the language a lot more than Ruby, mainly because of the “more than one way to do it” perlish approach taken. I like the simplicity and boundaries of Python.
Is there anyone out there working on a Rails-like all-in-one web application kit for Python?
Hi Greg, I didn’t know you’d started a blog.
Trac is indeed very cool. I set it up on my development PC to manage a nascent project of mine, mostly because it’s about the only python-based wiki I can stand. The bug tracking features are also great to have, even if not needed at this stage, and the extensibility is a real bonus. It’s too bad the PyWebOff analysis doesn’t apply, but I’m sure it’ll come in handy for other projects (and other people).
It’s annoying that wxWidgets doesn’t support RTL text, but hardly surprising. Its developers seem to be spread much too thin, and as a result it always seems to be missing functionality and polish. And testing. If GTK wasn’t so ugly (maybe fixable with a theme) and so onerous to install on Windows, pyGTK would make a great alternative.
Unfortunately your blog (especially older posts) seems to be suffering from comment spam, such is the price of fame.
You don’t make a really good case why Trac _should_ be using one of the frameworks you have in mind.
Make that “I didn’t know you’d started 2 or more blogs” (counting livejournal).