Search code examples
pythonpep8flake8

python pep8 class in init imported but not used


I'm doing PEP8 checks in python using the python flake8 library. I have an import statement in an __init__.py file in one of my sub-modules which looks like this:

from .my_class import MyClass

The reason I have this line in the init file is so that I can import MyClass from the sub-module as from somemodule import MyClass instead of having to write from somemodule.my_class import MyClass.

I would like to know if it is possible to maintain this functionality while correcting the PEP8 violation?


Solution

  • This is not actually a PEP8 violation. I simply do this:

    from .my_class import MyClass  # noqa
    

    Edit: Another possibility is to use __all__. In that case, flake8 understands what is going on:

    from .my_class import MyClass
    
    __all__ = ['MyClass',]