This "transparency" of Flask is exactly what made it my go-to web framework. I can do common things easily, and when it's time to do uncommon things I can figure out what Flask is doing at every level of abstraction.
It also seems designed from the ground up to be tinkered with and modified so I'm not worried about having to monkeypatch things weirdly or that my mods will break plugins.
It's one of the few software projects I rave about!
You're right: it is meant to be tinkered with! Reading this [0] was one of the most encouraging pieces of documentation I've read in a long time:
"Read the source. Flask’s code is written to be read; it’s documentation published so you can use its internal APIs. [...] The API docs are full of available overrides, hook points, and Signals. [...] The Flask class has many methods designed for subclassing [...] You can introduce WSGI middleware to wrap your Flask instances and introduce fixes and changes at the layer between your Flask application and your HTTP server [...] If none of the above options work, fork Flask."
Even from just a software architecture perspective, I'm incredibly impressed with what Armin Ronacher has done with this project.
It also seems designed from the ground up to be tinkered with and modified so I'm not worried about having to monkeypatch things weirdly or that my mods will break plugins.
It's one of the few software projects I rave about!