Spyder IDE complaining about unable to detect undefined names

Your IDE is complaining, not Python. When you do from simple import *, you import everything exposed by simple. This is typically not recommended because it pollutes the global namespace and may implicitly overwrite an existing object.

You get a warning instead of an error because this behavior is not always bad. Having an __init__.py file that exposes objects from sub-modules is a very common pattern. As long as you understand the potential risks, just silence the warning:

from .input import *  # NOQA

If your modules don't expose many objects, just import them by name:

from .input import A, B, C

This has the benefit of allowing Python code analysis tools to better understand your code and warn you of potential issues.