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

API

Example