Pipeline interface¶

In order to interact with the various pipelines asimov needs some additional glue code.

An interface for any pipeline can be constructed, provided that pipeline can be submitted to a condor scheduler using a DAG file.

The asimov.pipeline module defines the factory classes for these interfaces, and individual interfaces can be found in the asimov.pipelines module.

Supported Pipelines¶

The following pipelines currently have support bundled with asimov:

  • lalinference

  • bayeswave

  • bilby

  • RIFT

Adding new pipelines¶

New pipelines can be added to asimov by overloading the various methods in the :class:asimov.pipeline.Pipeline class. The most important of these is the build_dag method, which is used by the asimov framework to construct the DAG file to be submitted to the condor scheduler.

An example of a complete pipeline interface can be seen in the code for :class:asimov.pipelines.lalinference.LALinference.

Pipeline hooks¶

It is possible to customise the run process of the asimov pipeline runner using hooks. By overloading the hook methods (listed below) inherited from the asimov.pipeline.Pipeline class additional operations can be conducted during the processing workflow. Hooks should take no arguments.

Implemented hooks are:

before_submit()    --- Executed immediately before the DAG file for a pipeline is generated.
after_completion() --- Executed once execution has successfully
© Copyright 2020-2024, Daniel Williams.
Created using Sphinx 7.2.6.