In Python convention, should a module's imports be considered part of its public interface, or not?
I have some code that does this:
foo.py:
from a import b
bar.py:
from foo import b
I'm trying to decide whether to refactor bar.py to import b directly from a. I suppose there may be some cases where you want foo.py to control the implementation of b that bar.py uses. But if that's not the case, wouldn't it be better practice to have both modules import it the same way?