Skip to content

Workflows and Tasks

A workflow is a collection of tasks and various other operations. It supplies the tasks their options and saves their inputs and outputs. When run, a workflow function builds a graph of tasks that will be executed later. This graph may be inspected. The graph of tasks is not executed directly by Python, but by a workflow engine provided by the library.

Workflows can be used to create experiment and analysis routines for quantum-computing applications. In the illustration below, we show the tasks of a typical experiment workflow: create experiment sequence, compile the experiment sequence, run the experiment, analyse the data, and update the qubit parameters based on the analysis results. The analysis task itself is typically yet another workflow.

Workflows can also be used to run a series of experiment workflows in a certain order, allowing you to create a semi-automated tune-up routine.

Figure 1: An illustration of the concepts of Workflows in the LabOne Q software framework. Workflows are used to define a way of working in the lab towards achieving a specific goal, whether that be running a complicated analysis routine, a single quantum-experiment routine, or a collection of experiments executed in a certain order as part of an automated tune-up protocol.

This section of the manual teaches you how to use tasks, workflows, and workflow options in the following three tutorials:

Tasks

This example shows the basics of tasks.

Workflows

This example shows the basics of workflows.

Options

Tasks and workflows may take many optional parameters. These are controlled via Options which allows the defaults to be overridden and ensures that the optional values are propagated to the tasks that require them.

This example shows how workflow functionality can be extended with options.

Workflow Syntax

This example shows how variables behave inside a workflow and gives an intuition for how regular Python operations should be used when writing workflows.