sierra.core.plugin#
SIERRA plugin management to make SIERRA OPEN/CLOSED.
Also contains checks that selected plugins implement the necessary classes and
functions. Currently checkes: --storage, --execenv, and --engine.
Classes#
Container for managing directory-based plugins. |
Functions#
|
Load the specified Batch Criteria. |
|
Check the selected |
|
Check the selected |
|
Check the selected |
|
Check if a module exists before trying to import it. |
|
Import the specified module. |
|
Attempt to load the specified python module with tiered precedence. |
|
Check the selected |
|
Check the selected |
|
Check the selected |
Module Contents#
- class sierra.core.plugin.DirectoryPluginManager[source]#

Container for managing directory-based plugins.
- sierra.core.plugin.bc_load(cmdopts: sierra.core.types.Cmdopts, category: str)[source]#
Load the specified Batch Criteria.
- sierra.core.plugin.compare_sanity_checks(compare: str, module) None[source]#
Check the selected
--compareplugins.
- sierra.core.plugin.engine_sanity_checks(engine: str, module) None[source]#
Check the selected
--engineplugin.
- sierra.core.plugin.execenv_sanity_checks(execenv: str, module) None[source]#
Check the selected
--execenvplugin.
- sierra.core.plugin.module_exists(name: str) bool[source]#
Check if a module exists before trying to import it.
- sierra.core.plugin.module_load(name: str) sierra.core.types.ModuleType[source]#
Import the specified module.
- sierra.core.plugin.module_load_tiered(path: str, project: str | None = None, engine: str | None = None) sierra.core.types.ModuleType[source]#
Attempt to load the specified python module with tiered precedence.
Generally, the precedence is project -> project submodule -> engine module -> SIERRA core module, to allow users to override SIERRA core functionality with ease. Specifically:
Check if the requested module directly exists. If it does, return it.
Check if the requested module is a part of a project (i.e.,
<project>.<path>exists). If it does, return it. This requires thatSIERRA_PLUGIN_PATHto be set properly.Check if the requested module is provided by the engine plugin (i.e.,
sierra.engine.<engine>.<path>exists). If it does, return it.Check if the requested module is part of the SIERRA core (i.e.,
sierra.core.<path>exists). If it does, return it.
If no match was found using any of these, throw an error.
- sierra.core.plugin.proc_sanity_checks(proc: str, module) None[source]#
Check the selected
--procplugins.