Guido wants your input on Python web frameworks
One of Guido‘s earliest assignment at Google is to write a mid-size web applications for internal use, and he is sharing his opinions on his research on Python web frameworks. At the end he hasn’t found anything that is satisfactory, even though the requirement is straight forward.
By browsing through the comments, despite Python’s “one way” philosophy, you’ll see how diversify Python’s web framework is. It is like going to an expo, where everyone jumps on and says this and that is what he used — and they all different! Some got mentioned multiple times (like Django, TurboGears, web.py, etc), but there are many others that I have never heard of. Do we really need that many choice?
I’ve been playing with Django for one project, but as Guido has stated, the amount of magic scales me. Early waiting for the magic removal branch to merge so I can get back to it again. Meanwhile I am actually using web.py for another project (though I’ve criticised it), which involves minimal session management, minimal templating, and mainly web services using XML and JSON), pulled from static XUL application. I guess it’s nature of quickly get up and get going really suits it.
Meanwhile, I’ll keep on sampling frameworks for up coming projects. Pylons and trying out TurboGears again.
Comments
Add a comment
Gravatar is used. Email address is required but will not be displayed. Please keep your comment on topic. No spamming and/or bad language. First time poster will be moderated. Scott reserves the right to delete/edit your comments.

I read that via reddit the other day, I’m beginning to use that more and more for interesting reading material. The Artima site in general had some excellent content on it too.
The outcome of Guido’s post wasn’t a surprise really. The majority of the frameworks around, in my opinion, try and do too much. By that very nature, if you don’t want to do something the same way as the author, its often painful to achieve it.
I think that the author’s should be looking to provide a strong, well structured, fast code base. If a developer needs to do something else, they can inherit the base and continue on their way – or use the base as building blocks for something bigger.
I find it surprising that they aren’t writing a base to facilitate growth, reuse and extensibility. Instead, to some degree, it seems they are building something that is leaning towards being coupled. I think that the majority of them aren’t really writing a framework so much, as a content management type solution.
Al.