I came up with a little rule:
In order to be worth of any attention, a framework must be stable enough that I can charge money to train people to use it.
This probably applies to other kinds of software stacks, libraries, development environments and, well, to most software applications.
In the context of python web frameworks, this means that:
- If it changes API all the time it is not worth of attention, because my customers won't get value for their money, as they'd continuously need retraining and rewriting their software.
- If I see lots of DeprecationWarnings it is not worth of attention, because my customers will see them and blame me for teaching them deprecated stuff.
- If fixes for bugs affecting the stable version are only distributed "in a
recent git" or "in the next development version", and they are not
backported into a new bugfix-only stable release, then it is not worth of
- my customers' business is to develop their own products based on the framework.
- My customers' business is not to be maintaning in-house stable updates of the framework. Although if the framework's community is nice enough they might end up giving a hand.
- If it requires virtualenv or can only be obtained through easy_install it is
not worth of attention, because:
- my customers are not interested in maintaning custom deployment environments over time.
- My customers are not interested in tracking each and every single library's upstream development to keep their production system free of bugs.
- My customers are used to getting software through a proper distribution which also takes care of security updates.
- I am paid to teach them how to use a framework, not a custom python-only package management system.
- In my experience, if distributions have trouble keeping packages up to date, upstream is doing something fundamentally wrong.
In light of this rule, I regret to notice that I see very few python web frameworks worth of any attention.