Как предотвратить импорт методов во внешний пакет в 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)

Вернуться на верх