morpheus.utils.execution_chain.ExecutionChain

class ExecutionChain(function_chain=None)[source]

Bases: object

A class that represents a chain of functions to be executed sequentially.

Attributes
functions

List of functions to be executed in the chain.

Methods

__call__(**kwargs): Executes all the functions in the chain.
add_function(function: Callable, position: int = -1): Adds a function to the chain at a specified position.
remove_function(function: Callable): Removes a specific function from the chain.
replace_function(old_function: Callable, new_function: Callable): Replaces a specific function in the chain with a new one.
validate_chain(): Validates the function chain.
add_function(function, position=- 1)[source]

Adds a function to the chain at a specified position. Default is end of the chain.

Parameters
function

The function to add to the chain.

position

The position in the chain to add the function to, by default -1 which corresponds to the end of the chain.

remove_function(function)[source]

Removes a specific function from the chain.

Parameters
function

The function to remove from the chain.

replace_function(old_function, new_function)[source]

Replaces a specific function in the chain with a new one.

Parameters
old_function

The function to be replaced.

new_function

The function to replace the old one.

validate_chain()[source]

Validates the function chain by ensuring all objects in the chain are callable and all functions except the last one return a dictionary.

Raises
ValueError

If an object in the chain is not callable or a function does not return a dictionary.

Previous morpheus.utils.execution_chain
Next morpheus.utils.file_utils
© Copyright 2024, NVIDIA. Last updated on Apr 25, 2024.