Which is the easiest Python web application framework to get started with, for general use?

pywebapp_user picture pywebapp_user · Aug 10, 2011 · Viewed 12.5k times · Source

Which is the easiest Python web application framework to get started with, for general use?

Referring to easiest - I mean one which a short learning curve / time, at least in order to be able to use it for fairly simple apps. I have worked on non-trivial Ruby on Rails projects earlier, so it is not that I can't learn a more complex framework, it's just that for this particular app, I do not want to spend a lot of time learning the framework that I use - since this is more of an experimental app to test the idea - see below for more on that. If it turns out that the app idea is useful, I have no problem about later changing to a different framework and rewriting the entire app in that, after learning that framework properly.

I want to create a small web app - a personal productivity tool. Initially at least, it will be only for my personal use, though later I may consider opening it up to use by others, under whatever terms. Right now, I just want to prototype the idea and then use it some, myself, on a day-to-day basis, for a while, to get a feel for whether the app is actually useful or not for my productivity. By "general use" (in the title of this question), I mean that the suggested Python web app framework should not be specialized to any particular area, such as, say, Zope may (not sure) be more suited for creating CMS's (Content Management Systems). Also, the framework preferably should not put restrictions on what I can do, except for any restrictions that may be inherent in, or common to, all web app frameworks. (As an example of that last statement, the HTTP request/response cycle is, I guess, common to all, so all web app frameworks, whether in Python or not, put that restriction on the user/developer, that they have to implement their app in that style. Oh yes, and the framework should support creating database-backed web apps (which I guess most do, but mentioning it anyway). I should mention that I have tried out CherryPy (with SQLite) a little - not enough yet to decide whether it is suitable or not, also had some errors which I am working on resolving, but am anyway looking for other suggestions as well.

Thanks for any suggestions.

Answer

Anthony picture Anthony · Aug 11, 2011

I think you'll find web2py to be one of the easiest to set up, learn, and use (those are among its primary goals). It makes it easy to do simple things (and even many complex things), but still has a great deal of power and flexibility. It was inspired by Rails, so your familiarity with Rails may make it even easier to pick up. If you have any questions, there's a very helpful and responsive mailing list.

There was a recent review in InfoWorld: [Overview | web2py]. And a recent presentation.