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#