hoops_ai.flowmanager.TaskDecorators

class hoops_ai.flowmanager.TaskDecorators

Bases: object

ETL-based task decorators for flow orchestration.

Supports ETL (Extract, Transform, Load) pattern:

  • @flowtask.extract: Data extraction phase (e.g., file gathering)

  • @flowtask.transform: Data transformation phase (e.g., encoding)

  • @flowtask.custom: Flexible custom tasks for any processing

compute_embeddings(name=None, inputs=None, outputs=None, parallel_execution=True, embeddings_model='ts3d_scl_dual_v1')

Decorator for computing shape embeddings from CAD files.

Parameters:
  • name (str) – User-defined task name (defaults to function name)

  • inputs (list) – List of input parameter names (default: [‘cad_dataset’])

  • outputs (list) – List of output parameter names (default: [‘cad_files_encoded’])

  • parallel_execution (bool) – Whether to execute in parallel

  • embeddings_model (str) – The embeddings model to use (default: ‘ts3d_scl_dual_v1’)

custom(name=None, inputs=None, outputs=None, parallel_execution=True)

Decorator for custom generic tasks with flexible signatures.

Parameters:
  • name (str) – User-defined task name (defaults to function name)

  • inputs (list) – Optional input parameter names

  • outputs (list) – Optional output parameter names

  • parallel_execution (bool) – Whether to execute in parallel (default: True)

extract(name=None, inputs=None, outputs=None, parallel_execution=True)

ETL Extract phase decorator - for data extraction tasks.

Parameters:
  • name (str) – User-defined task name (defaults to function name)

  • inputs (list) – List of input parameter names

  • outputs (list) – List of output parameter names

  • parallel_execution (bool) – Whether to execute in parallel

transform(name=None, inputs=None, outputs=None, parallel_execution=True)

ETL Transform phase decorator - for data transformation tasks.

Parameters:
  • name (str) – User-defined task name (defaults to function name)

  • inputs (list) – List of input parameter names

  • outputs (list) – List of output parameter names

  • parallel_execution (bool) – Whether to execute in parallel