In bar.py foo is imported # bar.py from path import foo  In my current file bar is imported and I use the get_id function of foo: from path import bar bar.foo.get_id()   Mypy is complaining error: Module "bar" does not explicitly export attribute "foo" [attr-defined] 
Is it your own module? Use one of these two options that are suggested in the mypy docs; the __all__ is generally preferred # This will re-export it as bar and allow other modules to import it from foo import bar as bar # This will also re-export bar from foo import bar __all__ = ['bar']  If its a 3rd party; but also valid for your on modules Not all modules are designed and follow these suggestions you can disable/not check for the error, but first check:  Is is more valid to use foo directly? from path import foo foo.get_id()  I argue that the usage of module.non_child_module.function is often not justified. Also when writing your own modules it's more likely to create import-cycles when you put an unnecessary intermediate module in between.  If you think keeping bar.foo is more valid than using foo directly you can either add a # type: ignore[attr-defined]  Do not check for the error at all and use --no-implicit-reexport / implicit_reexport=False as many modules  