pipeline.moduleDecorators
Decorators and class-transformation helpers for PipeModule subclasses.
Public API:
module_decorator: the main decorator for PipeModule subclasses
status_manage: legacy single-step decorator (deprecated, use module_decorator)
Functions
- pipeline.moduleDecorators.module_decorator(auto_create_ports: bool = True, status_manage: bool = True) Callable[[Type[T]], Type[T]]
Decorator for PipeModule subclasses that handles both auto-create ports and status management.
This decorator must be used with parentheses and supports parameter customization.
Returns
- Any
Callable[[Type[PipeModule]], Type[PipeModule]] A decorator function that returns the decorated class
Examples
Use both features (default) @module_decorator() class MyModule(PipeModule): InputData: PortTypeHint.TableData OutputResult: PortTypeHint.SingleResult Only auto-create ports @module_decorator(status_manage=False) class MyModule(PipeModule): InputData: PortTypeHint.TableData Only status management @module_decorator(auto_create_ports=False) class MyModule(PipeModule): pass
- pipeline.moduleDecorators.status_manage(cls: Type[T]) Type[T]
Class decorator for PipeModule subclasses that preserves docstrings and metadata.
This decorator wraps the __init__, set_cal_params, and execute methods of PipeModule subclasses to provide common functionality while preserving class docstrings.
The decorator:
Adds auto-execution after initialization if auto_run is True
Converts numpy arrays to lists in set_cal_params return values
Tracks execution status and timestamps
Parameters
- clsType[PipeModule]
The class to be decorated (must be a subclass of PipeModule)
Returns
- Any
Type[PipeModule] The decorated class with wrapped methods
Notes
This decorator is now deprecated. Use @pipe_module_decorator() instead for new code.