Plugins
Используя блок метаданных в pyproject.toml
[project.entry-points.'playground.plugins']
myplugin = "playground.core.plugins.myplugin"from importlib.metadata import entry_points
"""
# если бы не было плагина, а мы подключали бы код напрямую:
from playground.core.plugins.myplugin import start
start()
"""
# Option 1: Load a plugin
(myplugin,) = entry_points(group='playground.plugins', name='myplugin')
module = myplugin.load()
module.start()
# Option 2: Load plugins
discovered_plugins = entry_points(group='playground.plugins')
for plugin in plugins:
module = plugin.load()
module.start()Last updated