Python Language Importing modules PEP8 rules for Imports


Some recommended PEP8 style guidelines for imports:

  1. Imports should be on separate lines:

     from math import sqrt, ceil      # Not recommended
     from math import sqrt            # Recommended
     from math import ceil
  1. Order imports as follows at the top of the module:

    • Standard library imports
    • Related third party imports
    • Local application/library specific imports
  2. Wildcard imports should be avoided as it leads to confusion in names in the current namespace. If you do from module import *, it can be unclear if a specific name in your code comes from module or not. This is doubly true if you have multiple from module import *-type statements.

  3. Avoid using relative imports; use explicit imports instead.