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.HAS_SETUP_PATHS = False#
- class core.module.ModuleFactory#
- 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
- get_module(module_name: str, config: dict) Type[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)
- 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
- available_modules(limit_to_modules: List[str] = [], suppress_warnings: bool = False) List[LazyBaseModule]#
- class core.module.LazyBaseModule(module_name, path, factory: ModuleFactory)#
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#
- description: str#
- path: str#
- module_factory: ModuleFactory#
- property type#
- 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#