qat.pipelines.base module

class AbstractPipeline

Bases: ABC

An abstraction of pipelines used in QAT to compile and execute quantum programs.

Abstractly a pipeline needs to be given a hardware model and some target data that contains the parameters of the target device needed to correctly compile and execute. In the future, this might be relaxed so that the model and/or target data is not concretely needed to define a pipeline.

is_subtype_of(cls)

Matches a given type against the pipeline.

abstract property model: QuantumHardwareModel | PhysicalHardwareModel
abstract property name: str
abstract property target_data: TargetData
class BasePipeline(name, model, target_data)

Bases: AbstractPipeline, ABC

A base implementation of the abstract pipeline that provides access to the components of the pipeline.

Subclasses should implement the copy and copy_with_name methods.

copy()

Returns a new instance of the pipeline with the same components.

Return type:

BasePipeline

copy_with_name(name)

Returns a new instance of the pipeline with the same components, but with a different name.

Return type:

BasePipeline

property model: QuantumHardwareModel
property name: str
property target_data: TargetData