pyramid One of the pylons projects. It's not a full-stack framework, but it can handle small to large apps.
When installed, a lot of webob, mako and other libraries will be installed. The pyramid framework is built on top of these libraries, so it's flask-like.
Decorator-based settings, but I / O remains the same. (@View_config etc.)
The renderer is also separated from the view
Easy to test
from pyramid.view import view_config
@view_config(renderer='myapp:templates/mytemplate.pt')
def myview(request):
return {'a':1}
venusian The setting of the view_config function is delayed until the application is executed. In other words, using a function that is decorated as a single unit has no effect on the view_config function.
This is undertaken by a library called venusian. http://docs.pylonsproject.org/projects/venusian/en/latest/
This allows you to write tests without worrying about the side effects of ** decorator functions. ** **
I wonder if it makes sense to be able to use python decorators as just metadata, like java annotations. Even if the mechanism behind it becomes complicated, I think it's good that it is easy to write declaratively.