Having packages/modules be defined as single files is a fundamental programming language design error. #Python, but also #Erlang, #Scheme, the misguided package-inferred-system extension for #CommonLisp… Because no one wants a 10k lines file mixing dozens of concepts, you end up with a multitude of small packages for no good reason.
At least in Erlang you can just use whatever was loaded without manually importing every single module you need everywhere, but Python is as usual the worst.