The analytics tell me that the keywords for this blog are "Best Python Framework" which is odd because I don't think I can pretend to have that answer. What I can do is point out what the differences are and let you find the one that suits you best. Nagare for example offers some concepts that you won't be used to if you come from using Django or Flask and the like.
If you have read
Install Stackless Python on Ubuntu and could get stackless running the
examples I showed you, then just follow these commands to get a stackless
virtual environment running a nagare project called 'nagaredemo':
In the examples below, paste the code directly into the file
//negaredemo/demos/demos/app.py
and
be aware that when you change the code you need to restart the development server (
Ctrl-C stops it.)
Hello World!
Okay, so example1 shows the basics of rendering a Welcome object.
http://localhost:8080/demos/
You'll notice immediately that we're not using a templating language here, but rather the built in
Domain Specific Language (DSL). In reality you would use the DSL to build xhtml snippets and then use
meld to insert them into templates. I've not used meld before, but
it looks very straight forward - neat in fact. Now onto example2.
Callbacks
Here we've registered two callbacks on the DOM without having to explicitly declare the URL mappings. have a look at the rendered HTML to see how this has been implemented. Now, that's pretty handy.
Tiresome RESTful URLs
Example 3 takes that same code and augments it to allow us to have more ReSTful URLs. I'm not sure this is as obvious as I'd like, but it works I suppose.
http://localhost:8080/demos/Counter?value=7
Saving State Automatically
Nagare can hide the request/response object and global session from the developer. Object states are automatically saved in a server side session during the request/response round-trip. This allows for a more direct style of programming like in a desktop application.
And there's more
There's
more documentation on the Nagere website itself, so scoot along there and see what else there is to offer. Nagare is built upon ConfigObj, WebOb, Paste, PEAK-Rules and lxml, so it's on good foundations. I'm told by Hervé Coatanhay that the next release will introduce non stackless support using pypy or CPython.
Conclusion
Nagare is able to implement
Continuations and that's a great thing. However I'm not sure I like the way it obfuscates the implementation. I'd much rather be able to see what was going on.
For example, saving state between requests is nice, but is it secure? Do I need to plough through the code to find out? In my opinion it would have been better to have offered a structure that allows for others to plug in solutions/implementations.
The documentation is somewhat limited, which is probably because the community is still fairly small. However sinceteh project has been running since 2008, perhaps that's something to be concerned about.
Thanks to
Hervé Coatanhay for suggestion the illustrative code snippets.