Plugin Manager

hal_py.plugin_manager.get_plugin_instance(plugin_name: str) hal::BasePluginInterface

Gets the basic interface for a plugin specified by name. By default calls the initialize() function of the plugin.

Parameters

plugin_name (str) – The name of the plugin.

Returns

The basic plugin interface.

Return type

hal_py.BasePluginInterface

hal_py.plugin_manager.get_plugin_names() Set[str]

Get the names of all loaded plugins.

Returns

The set of plugin names.

Return type

set(str)

hal_py.plugin_manager.load(plugin_name: str, file_path: os.PathLike) bool

Load a single plugin by specifying its name and file path.

Parameters
  • plugin_name (str) – The desired name that is unique in the framework.

  • file_path (pathlib.Path) – The path to the plugin file.

Returns

True on success, false otherwise.

Return type

bool

hal_py.plugin_manager.load_all_plugins(directory_names: List[os.PathLike] = []) bool

Load all plugins in the specified directories. If directory is empty, the default directories will be searched.

Parameters

directory_names (pathlib.Path) – A list of directory paths.

Returns

True on success, false otherwise.

Return type

bool

hal_py.plugin_manager.unload(plugin_name: str) bool

Releases a single plugin and its associated ressources.

Parameters

plugin_name (str) – The name of the plugin to unload.

Returns

True on success, false otherwise.

Return type

bool

hal_py.plugin_manager.unload_all_plugins() bool

Releases all plugins and their associated resources.

Returns

True on success, false otherwise.

Return type

bool