Python Web Frameworks (Yet Again)

In response to comments and emails over the last few days saying, “I don’t know why you are so obsessed with having just one Python web framework—different people have different needs, competition spurs everyone to do better, and anyway, the technical issues aren’t settled enough yet to pick a winner,” I’d like to say, “Bah.” My argument comes down to this:

  • Number of books on Rails: 12 (in print or in the works, and those are just the ones I know of). Number of books on TurboGears, Django, Pylon, and all the other Python web frameworks put together: 0. (I'm not counting John's book on network programming, or the Twisted book.)
  • Number of Rails Pub Nights and other gatherings (including the Rails Conference): over 20, based on a quick google and some guesses. Number of attendees (i.e., potential collaborators, employers, or employees): hundreds. Equivalent numbers for Python's fragmented frameworks: less.

This is not about Python vs. Ruby: it’s about our obligation as developers to give maximum value to our customers. As long as Pythoneers’ efforts are divided between [pick a random number] different frameworks, none of them will be as mature or reliable as Rails, which means that developers using Python will be taking longer to accomplish less. Competition hasn’t led to any of “our” frameworks surpassing Rails to date; there’s no reason to believe that will change, so picking one and making it competitive is, in my opinion, the only defensible course of action.

Now, back to marking…