Skip Navigation

is there a way to prevent or alert in case a member is imported from within a module?

Let's say I have the following structure:

 
    
my_module/
  __init__.py
  utilities.py

  

and __init__.py contains

 python
    
from .utilities import SomeUtilityFunction

  

Is there a way to prevent or alert developers when they do

 python
    
from my_module.utilities import SomeUtilityFunction

  

instead of

 python
    
from my_module import SomeUtilityFunction

  

The problem arose when a few modules started using a function that was imported inside a module in which it wasn't used, while also being available on the module's __init__.py, so after linting the file and removing the unused import my tests started failing.

any other advice for situations like this?

11 评论
11 评论