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