| search-term | web | groups | blog | amazon.com-search |
| python zope | 8,920,000 | 20,700 | 2,294 | 9 |
| python plone | 2,730,000 | 2,420 | 784 | 2 |
| python twisted | 2,010,000 | 14,500 | 1,396 | 4 |
| python subway | 714,000* | 2,380* | 626 | 4 |
| python aquarium | 659,000* | 4,340* | 505 | 7 |
| python django | 543,000 | 2,660 | 1,055 | 0 |
| python turbogears | 363,000 | 1,600 | 623 | 0 |
| python cherrypy | 250,000 | 2,420 | 391 | 1 |
| python quixote | 236,000 | 1,240 | 211 | 1 |
| python pylons | 111,000 | 593 | 23 | 0 |
| python webware | 107,000 | 929 | 126 | 0 |
| python karrigell | 70,500 | 166 | 91 | 0 |
| python myghty | 45,700 | 82 | 59 | 0 |
| python skunkweb | 40,100 | 165 | 38 | 0 |
| python web.py | 25,900 | 98 | 93 | 0 |
| python snakelets | 901 | 89 | 28 | 0 |
| search-term | web | groups | blog | amazon.com-search |
| ruby rails | 11,500,000 | 10,100 | 21,266 | 13 |
| java struts | 8,350,000 | 43,200 | 14,373 | 47 |
| perl catalyst | 1,780,000 | 7,120 | 1,131 | 1 |
| perl mason | 1,170,000 | 9,870 | 532 | 5 |
| java webwork | 970,000 | 924 | 1,134 | 5 |
Update: 1) added Karrigell 2) Changed “webpy” to “web.py” and updated results (see comments).
This was quick, manual work, spending some quality time at Ye Ol’ Google. Would someone like to build an interactive, real-time, database driven website for this stuff? Kind of like NetCraft, but just for Python web frameworks. :-) My personal favorite would be to build this in Django, but I’m sure those catnipped TurboGearHeads will beat me to the bunch. ;-) I might actually try to do this in Zope 3.2, just because I’ve been convinced (see below) to give it another try by some very nice people.
Ironically “python aquarium” got lots of hits… apparently lots more people put real pythons in real aquariums, not the software kind. And for “python subway”, I’m sure there lots of stories about huge snakes in the New York subway system.
And yes, my categories were a little arbitrary (Plone is built on Zope, which is now on Twisted, TurboGears is built on CherryPy, Pylons is built with Myghty, etc.)
I have a sneaky suspicion that Pylons and Myghty are “rising stars”, so some trend statistics would be nice to see the delta on these stats over time.
Yes, I left out PHP, on purpose.
For some exits, please read the following 3 posts:
“Three Reasons Why You Shouldn’t Write Your Own Web Framework”
“Zope, flames and the Koolaid remark”
And this great comment sent to me on why Zope 3 deserves a seat at the table.
Peace, Love, and Pythonically Yours, - Jason
P.S. I eagerly await the “But you forgot framework X!” comments. If your pet framework was missed, sorry! I’ll go back to check Guido’s (now epic) post on frameworks to search for more framework names.



There’s more Zope than Struts?! Here in my town I never heard of anyone using Zope, but Struts I always hear someone saying something…
Link | February 9th, 2006 at 12:18 pm
Karrigell is also great python web app. framework!
http://karrigell.sourceforge.net/
Link | February 9th, 2006 at 1:24 pm
I’ll add Karrigell… here are the stats for it:
amazon.com books: 0
Link | February 9th, 2006 at 1:59 pm
Hmmm… I think I should have searched for “webpy” to “web.py”… web search results go from the (surprisingly bottom basement – 803) to the (next to bottom basement) value of 25,900. (Sorry, Snakelets.) Searching for “web.py” in groups search goes from 28 to 98, blog search from 29 to 93… And I won’t bother rechecking the book count. ;-)
Link | February 9th, 2006 at 2:14 pm
Not a web framework in the way that people generally talk about the term, but you probably should include mod_python.
Search term: mod_python
web: 2,530,000
groups: 4,450
Link | February 9th, 2006 at 8:54 pm
try:
+python +aquarium -fish -snake -water -cleaner -gallon -plant -zoo -museum -accessories -cleaning -ball -animal -Burmese
Link | February 10th, 2006 at 12:56 pm
Spyce:
web: 113,000
groups: 165
blogs: 43
Link | February 13th, 2006 at 1:55 am
Amazing web.py did so well, considering it’s only been out a month or two.
Link | February 20th, 2006 at 3:29 pm
Well, I have made a first attempt at this. You can find it at http://test.muti.co.za. I used the Yahoo web services API for reasons I explain on the page. For now it doesnt keep any history but if there is enough interest in this I will look at expanding it.
Regards
Link | March 2nd, 2006 at 1:12 pm
Thakadu,
Rock on! :-)
Very curious… which Python framework did you end up using for this? Please don’t tell me you ended up using Rails. ;-)
-Jason
Link | March 2nd, 2006 at 8:45 pm
Jason, I used java struts ;)
Ok it was really done with CherryPy mostly because I know CherryPy well and I wanted to throw this up quickly. But it is really so simple that anyone could do it in any of the frameworks in a snap. I will be looking at converting it to web.py just because I think its a nice app to use to learn a framework.
For your info, I will be expanding it to show movement this week, this month etc and also looking at pulling some figures from other sources.
Link | March 3rd, 2006 at 10:36 am
Thakadu,
Perhaps your little app could become the new “Python web framework Bakeoff” using each framework and comparing and contrasting the differences. :-)
I’m most curious in seeing the movement in Pylons and Myghty. They’re at the bottom of the stack, but I don’t think they’ll stay there for long… Also, any thoughts on how to make this more accurate? “Python subway” and “python aquarium” probably have a few “false positives”… Maybe we should add “web” or “framework” to each search query?
-Jason
Link | March 7th, 2006 at 1:48 pm
Good idea Jason, and I will do a few tests with those additional words in the queries and if it works I will put them in. As regards the “Bakeoff”, what type of things would you see being in there? For the template engine section, I would love to have a performance comparison that showed the render time for a common page. I have done a few comparison’s already between Cheetah, Django templates and PyMeld. Maybe when I find some time I will publish them and add a few others.
Link | March 7th, 2006 at 5:44 pm