in general I see two types of Python in the wild: - simple self-contained scripts, everything is a free function, no type hints - over-engineered hierarchies of classes spread over dozens of files and modules, type hints everywhere

I personally largely prefer the first kind, but it seems even the standard formatting rules are against it (two empty lines between free functions etc.)