In Python, wildcard imports are generally discouraged for much the same reason that using namespace
is generally discouraged in C++. Namely because it makes it unclear where names are coming from, and makes reading code more difficult for humans and tools.
This PR removes all wildcard imports from the qa directory and replaces them with explicit imports.
Concretely, I’m planning on doing some refactors of the test_framework library, and not being able to quickly see all of the dependencies makes that more difficult.
But wait, there’s more: as a bonus I’ve tided up the imports so they’re in PEP8 ordering: std library first, then third party packages, then local modules.