core.module#
Defines the Step abstract base class, which acts as a blueprint for steps in the archiving pipeline by handling user configuration, validating the steps properties, and implementing dynamic instantiation.
Module Contents#
- core.module.MANIFEST_FILE = '__manifest__.py'#
- core.module.setup_paths(paths: list[str]) None#
Sets up the paths for the modules to be loaded from
This is necessary for the modules to be imported correctly
- core.module.get_module(module_name: str, config: dict) core.base_module.BaseModule#
Gets and sets up a module using the provided config
This will actually load and instantiate the module, and load all its dependencies (i.e. not lazy)
- core.module.get_module_lazy(module_name: str, suppress_warnings: bool = False) LazyBaseModule#
Lazily loads a module, returning a LazyBaseModule
This has all the information about the module, but does not load the module itself or its dependencies
To load an actual module, call .setup() on a lazy module
- core.module.available_modules(with_manifest: bool = False, limit_to_modules: List[str] = [], suppress_warnings: bool = False) List[LazyBaseModule]#
- class core.module.LazyBaseModule(module_name, path)#
A lazy module class, which only loads the manifest and does not load the module itself.
This is useful for getting information about a module without actually loading it.
- name: str#
- type: list#
- description: str#
- path: str#
- property entry_point#
- property dependencies: dict#
- property configs: dict#
- property requires_setup: bool#
- property display_name: str#
- property manifest: dict#
- load(config) core.base_module.BaseModule#