Как спроектировать безопасную плагинную систему без «грязных» импортов?
Определите стабильный интерфейс (например, Protocol), открывайте плагины через importlib.metadata.entry_points() по своему namespace, проверяйте версию/метаданные и оборачивайте инициализацию в таймаут/изоляцию. Недоверенные плагины гоняйте в отдельном процессе с IPC (gRPC/stdio), ошибки — в карантин, ведите allowlist/подписи и телеметрию.
Библиотека собеса по Python
Post #1432
279