Welcome to Python-flavored Magnum! Please note that, while already being rather stable, this functionality is still considered experimental and some APIs might get changed without preserving full backwards compatibility.

corrade.pluginmanager.AbstractManager class

Base for plugin managers

Methods

def load(self, plugin: str) -> LoadState
Load a plugin
def load_state(self, plugin: str) -> LoadState
Load state of a plugin
def metadata(self, plugin: str) -> PluginMetadata
Plugin metadata
def register_external_manager(self, manager: AbstractManager) -> None
Register an external manager for resolving inter-manager dependencies
def reload_plugin_directory(self, /) -> None
Reload plugin directory
def set_preferred_plugins(self, alias: str, plugins: list[str]) -> None
Set preferred plugins for given alias
def unload(self, plugin: str) -> LoadState
Unload a plugin

Properties

alias_list: list[str] get
List of all available alias names
plugin_directory: str get set
Plugin directory
plugin_interface: str get
Plugin interface string
plugin_list: list[str] get
List of all available plugin names

Data

VERSION = 7
Plugin ABI version

Method documentation

def corrade.pluginmanager.AbstractManager.load(self, plugin: str) -> LoadState

Load a plugin

Exceptions
RuntimeError When loading fails
Returns LoadState.LOADED, possibly combined with other flags such as LoadState.STATIC

def corrade.pluginmanager.AbstractManager.set_preferred_plugins(self, alias: str, plugins: list[str]) -> None

Set preferred plugins for given alias

Exceptions
KeyError If the alias doesn’t exist

def corrade.pluginmanager.AbstractManager.unload(self, plugin: str) -> LoadState

Unload a plugin

Exceptions
RuntimeError When unloading fails
Returns Either LoadState.NOT_LOADED or LoadState.STATIC