Why from-import:
1. explicit - application will not start if there is no such attribute in the module (vs breaks at runtime if there are no tests)
2. using one import per line so conflict resolution is trivial (this only tangentially relates)
3. it's a small bit faster to access module level variable directly than to get attribute every time
4. consistent with imports in __init__ modules: from . import x
5. explicit imports make module couplings evident. This visibility helps in determining if something belongs elsewhere, especially when diffs show that a variable moved with its dependencies.
6. IDE such as PyCharm can automatically add imports, and hide it by default, so "less clutter" does not really apply.
That said, in some cases import x or import x as y can be used conventionally, eg import numpy as np.