group_tasks#

caput.pipeline.tasklib.base.group_tasks(*tasks)[source]#

Create a Task that groups a bunch of tasks together.

This method creates a class that inherits from all the subtasks, and calls each process method in sequence, passing the output of one to the input of the next.

This should be used like:

>>> class SuperTask(group_tasks(SubTask1, SubTask2)):
...     pass

At the moment, if the ensemble has more than one setup method, the SuperTask will need to implement an override that correctly calls each.