Plugin Module
Plugin module.
- class pepperpy.plugin.Plugin(name, module, metadata=<factory>)[source]
Bases:
objectPlugin class.
- Parameters:
name (str)
module (ModuleType)
-
module:
ModuleType
- exception pepperpy.plugin.PluginError(message, context=None, cause=None)[source]
Bases:
PepperpyErrorPlugin error.
- Parameters:
- Return type:
None
- class pepperpy.plugin.PluginManager(config=None)[source]
Bases:
BaseModule[PluginManagerConfig]Plugin manager implementation.
- Parameters:
config (PluginManagerConfig | None)
- __init__(config=None)[source]
Initialize plugin manager.
- Parameters:
config (
Optional[PluginManagerConfig]) – Optional plugin manager configuration- Return type:
None
- async load(path)[source]
Load plugin.
- Parameters:
path (
Path) – Plugin path- Raises:
PluginError – If plugin loading fails
- Return type:
- async unload(name)[source]
Unload plugin.
- Parameters:
name (
str) – Plugin name- Raises:
PluginError – If plugin unloading fails
- Return type:
- get(name)[source]
Get plugin.
- Parameters:
name (
str) – Plugin name- Return type:
- Returns:
Plugin instance
- Raises:
PluginError – If plugin not found
- class pepperpy.plugin.PluginManagerConfig(name='plugin_manager', metadata=<factory>, plugin_paths=<factory>)[source]
Bases:
ModuleConfigPlugin manager configuration.
- pepperpy.plugin.get_plugin_class(plugin, base_class)[source]
Get plugin class.
- Parameters:
plugin (
Plugin) – Plugin instancebase_class (
Type[TypeVar(T, bound=PluginProtocol)]) – Base class to search for
- Return type:
Type[TypeVar(T, bound=PluginProtocol)]- Returns:
Plugin class
- Raises:
PluginError – If plugin class is not found
- pepperpy.plugin.load_plugin(path)[source]
Load plugin from path.
- Parameters:
path (
Path) – Plugin path- Return type:
- Returns:
Plugin instance
- Raises:
PluginError – If plugin loading fails