I disagree. Flask's thread locals have never been a problem for me and it's not like you can escape them, most frameworks use them in some form implicitly, for example both Django and Pyramid. The circular dependency in Flask hasn't been a problem either, once I wrapped my head around how to do it properly. Lack of standards I would say is still a bit of a problem, but Blueprints helped. I wouldn't say Django has this one quite figured out either though, and in general I usually have to do some heavy customization when using 3rd party Django apps with their own views and urls.