Python micro frameworks are all the rage these days
May 11, 2009It’s never been easier to setup a web app:
web.py has some additional features, but can also be considered as a micro framework.
I prefer the url dictionnary approach (mnml, newf, webpy) to the decorator approach (juno). djng is bit different, routing is based on the django module (from django.conf.urls.defaults import url).
micro frameworks + key-value stores are a match made in heaven for webservices development.
Update: Travis has posted a shallow review of these frameworks.
As of now, this post has 15 comments — read them below:
May 12, 2009 05:10:30
Please review these micro frameworks and discuss the pros/cons of each. It's hard to choose which one to use.
— EJ
May 12, 2009 05:14:54
Why isn't CherryPy, Pylons and TurboGears on your list?
— Mathew
May 12, 2009 05:39:42
No way. None of those should be on the list.
— EJ
May 12, 2009 09:11:29
werkzeug?
— RonnyPfannschmidt
May 12, 2009 09:29:47
@Mathew : CherryPy, Pylons , TurboGears, while excellent, are not micro frameworks. They offer richer features, at the expense of complexity sometimes. I'd rather run mnml for prototyping than TurboGears. I guess it's just a matter of preference though
@EJ : good idea. mnml is my favorite so far, mainly because I'm familiar with the routing module which is very similar to what web.py & Google App Engine have implemented
— Tim
May 12, 2009 06:01:36
Thanks for being so thrilled, it makes me all goose-bumpy.
Anyway, I was just wondering why EJ doesn't go and do his/her own bloody research ?
— Alan
May 12, 2009 08:31:20
werkzeug!
— tom
May 12, 2009 11:44:11
@Ronny & @tom : thanks for pointing out that werkzeug is missing from the list. I had never heard of it prior to your comments.
— Tim
May 13, 2009 06:02:03
werkzeug!
— chris
May 18, 2009 09:26:11
You don't even need a framework. I went through the basics at the Michigan Python Users group a couple of months ago, recorded for posterity:
http://blip.tv/file/1782997
I think that roll-your-own is a great way to go for web services. If you're making a more traditional web app, I'd go with one of the full stack frameworks (I'm partial to TurboGears 2 for obvious reasons ;)
— Kevin Dangoor
May 18, 2009 11:39:34
@Kevin Great video. I've learned a lot while watching it — especially the virtualenv trick.
I think I'll go with web.py for serious web services, and build my own to play with WSGI ;)
— Tim
September 10, 2009 09:16:13
I think you should be adding BFG to your list as well.
http://bfg.repoze.org
Its fantasic, great docs and test coverage
— Mr. Jelly
September 27, 2009 11:33:05
I did a very shallow review of these microframeworks, which is available here:
http://www.subspacefield.org/~travis/python_microframeworks.txt
I may be adding to it later. I've got another project I was going to do in Pylons, but it is so complicated that it's a mammoth undertaking.
The review is not very in-depth, but a lot of these frameworks are so small you can actually read the source in a short period of time and form your own judgements.
— Travis H.
September 28, 2009 05:15:24
@travis thanks for the review. I’ve played with these micro frameworks, but found out that web.py (and its twins : webapp on Google AppEngine and Tornado) have everything I need without all the bloat.
— Tim
November 2, 2009 12:04:52
Please try bottle (http://wiki.github.com/defnull/bottle), it's really really small, and the syntax is really simple (decorator based). It doesn't have ANY dependency (http://bottle.paws.de/ for the examples)
— Lior Gradstein
Have something to say ? Leave a comment then :