When there is already import a.b then import a is implicitly executed and a is added as a name. Hence, it does not make sense to have both like:
import logging # this is superfluous
import logging.handlers
This is sufficient, isort should remove the superfluous import
Reference:
https://docs.python.org/3/reference/simple_stmts.html#the-import-statement ("Examples")
https://docs.python.org/3/reference/import.html#the-module-cache
Note: if there is an import alias, only the last name is bound, hence in that case nothing can be removed:
import logging # not superfluous
import logging.handlers as log_handlers
When there is already
import a.bthenimport ais implicitly executed andais added as a name. Hence, it does not make sense to have both like:This is sufficient, isort should remove the superfluous import
Reference:
https://docs.python.org/3/reference/simple_stmts.html#the-import-statement ("Examples")
https://docs.python.org/3/reference/import.html#the-module-cache
Note: if there is an import alias, only the last name is bound, hence in that case nothing can be removed: