Skip to content

Feature request: Remove superfluous import a statements when there is already import a.b #2285

Open
@e-gebes

Description

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

import logging.handlers

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

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions