Plugins¶
Plugins package handles organization and management (loading) of plugins.
Pipeline plugins are python packages that are placed outside of libpermian and symlinked in the directory of this package.
Plugins should add their functionality only via functions defined in libpermian.plugins.api
- class libpermian.plugins.PluginsMetaPathFinder¶
- classmethod find_spec(fullname, path=None, target=None)¶
Try to find a spec for ‘fullname’ on sys.path or ‘path’.
The search is based on sys.path_hooks and sys.path_importer_cache.
- libpermian.plugins.disabled(plugins_dir, plugin_name)¶
Checks if plugin is disabled
- libpermian.plugins.env_plugins_override()¶
Get enabled and disabled plugin names and paths to additional plugins from env variables
- Returns:
DISABLED_PLUGINS, ENABLED_PLUGINS, EXTRA_PLUGINS_PATHS
- Return type:
tuple
- libpermian.plugins.is_plugin_dir(dir)¶
Checks whether directory path could be a valid plugin
- libpermian.plugins.is_plugin_name(module_name)¶
Checks whether module name looks like pipeline plugin
- libpermian.plugins.load()¶
Import all plugin packages.
- libpermian.plugins.loaded_plugin_modules()¶
List loaded python modules that look like pipeline plugins
- libpermian.plugins.plugin_settings()¶
Get paths for plugin settings files