Как предотвратить импорт методов во внешний пакет в pycharm?
Я хотел бы предотвратить импорт частных методов вне определенного интерфейса в большом коммерческом проекте для улучшения архитектуры.
Я пробовал с init.py
, но обслуживание сложно, и у меня были проблемы с круговым импортом со временем.
Я также пробовал с _method()
подчеркиванием делать приватные методы, но тогда я не мог использовать эти методы внутри собственного интерфейса.
Что я хотел бы установить или в моих конфигах pycharm или путем индивидуального использования import machinery from python это что-то вроде этого:
-- interface_foo
---- method_foo.py # здесь я создаю публичный и приватный метод
.
---- method_bar.py # здесь я могу импортировать оба метода без проблем, потому что он находится внутри инферфейса
.
---- api.py # здесь я отображаю публичные методы, чтобы другие интерфейсы могли их использовать
--interface_baz
----method_baz.py # здесь я могу импортировать ТОЛЬКО публичный метод
При попытке импортировать приватные методы из interface_foo внутрь interface_baz должна возникнуть ошибка (как ImportError
)