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:

  1. Adds auto-execution after initialization if auto_run is True

  2. Converts numpy arrays to lists in set_cal_params return values

  3. 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.