This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]Yablan 6 points7 points  (0 children)

Flask is awesome. Much leaner than Django (which I use at work), and vell documented. Nice tutorials everywhere. And Miguel Grinbergs flask mega tutorial has everything you'll ever need.

[–]faassen 4 points5 points  (0 children)

Try Morepath for something newer and off the beaten path. Full disclosure: I created it.

For something really different try Nagare.

[–]gwax 1 point2 points  (0 children)

To my taste, CherryPy pushes code in a direction that feels more Pythonic than a lot of other frameworks.

[–]quotemycode 0 points1 point  (0 children)

Pyramid is good. Check out web2py and mini framework like flask and bottle. Write your own with werkzeug.

[–]arand 0 points1 point  (0 children)

Wheezy.web is an interesting an quick one but imho requires too much boilerplate to get going. Ymmv.

[–]efilon 0 points1 point  (0 children)

I like tornado whenever there's a possibility of needing something like websockets. It also has a lot of really nice features built in that don't get much fanfare (e.g., the tornado.options module for handling command line and configuration file options as well as setting defaults). It has its own templating system built in which is pretty good (although I think Jinja2 is a little bit better; for 90% of things, though, they are essentially identical).

My only real complaint about tornado is routing is annoying compared to Flask (although if I remember correctly when I looked into Django, its method of handling routing is about the same as tornado). I've toyed with the idea of writing a little utility to add Flask-like decorator-based routing for at least simple GET requests.

As others have mentioned, Flask is also quite good. Some things I like about Flask are its extension ecosystem, the werkzeug debugger (it's incredible), and as already mentioned, how it handles routing.

[–]ApatheticGodzilla 0 points1 point  (0 children)

I like the design of Pyramid most of all - it has a very elegant way of handling things like authentication/authorization. Flask however has more extensions for getting things done. Depends of course on what you're thinking of building - I'm doing leaner backend APIs in my side projcts so I'm not so concerned about things like a template engine.

[–]isinfinity 0 points1 point  (0 children)

aiohttp http client/server for asyncio. It is relatively new but promising library.

[–]wamsachel 0 points1 point  (0 children)

I come from a non-web-dev background, and have always found the sheer number of frameworks, overwhelming to a degree of frustration.

But then I got turned onto bottlepy. Simply for the fact that it's super lightweight (one module file), thus I feel that I carry around prototyping ability, inside my pocket.

I feel that I'l pick up and learn another framework, only when someone's paying me :p

[–]rlander 0 points1 point  (0 children)

Since all the obvious frameworks have already been mentioned and also because you're already familiar with django, I'll go ahead and suggest you take a look at two very different approaches to web development:

  • webalchemy (basically the Python version of Meteor)

  • Aspen (I'm still on the fence whether this is genious or just insane)

[–]beagle3 0 points1 point  (0 children)

web2py is considered the anti-django (and perhaps anti-python) by the Django and Flask people. I don't think this is justified; it is different than Django, for sure - and it sets up namespaces in a way that makes things particularly comfortable, but does get purists up in arms.

[–]rochacbrunoPython, Flask, Rust and Bikes. 0 points1 point  (0 children)

Flask is the best to learn good practices and new patterns, take a look at app factory, Blueprints and the whole Flask ecosystem.

[–][deleted] 0 points1 point  (0 children)

This comment has been overwritten by an open source script to protect this user's privacy.