Magic can come to haunt you when you get stuck. For e.g. flask has thread locals where the request variable gets populated with the current request's context dynamically.
For the most part though, Flask is very magic free and the source is small enough to quickly figure out whats going on.