---
title: ExperimentBuilder (latest version)
description: API reference for qiskit_noise_learning.experiment_builder.ExperimentBuilder in the latest version of qiskit-noise-learning
source: https://quantum.cloud.ibm.com/docs/en/api/qiskit-noise-learning/generated/experiment-builder-experiment-builder
---

# qiskit\_noise\_learning.experiment\_builder.ExperimentBuilder

*class* `qiskit_noise_learning.experiment_builder.ExperimentBuilder(*stages: ExperimentBuilderStage)`

[GitHub](https://github.com/Qiskit/qiskit-noise-learning/tree/stable/0.1/qiskit_noise_learning/experiment_builder/experiment_builder_stage.py)

Bases: [`ExperimentBuilderStage`](/docs/api/qiskit-noise-learning/generated/experiment-builder-experiment-builder-stage "qiskit_noise_learning.experiment_builder.experiment_builder_stage.ExperimentBuilderStage")

A composite [`ExperimentBuilderStage`](/docs/api/qiskit-noise-learning/generated/experiment-builder-experiment-builder-stage "qiskit_noise_learning.experiment_builder.ExperimentBuilderStage") that chains stages sequentially.

Because [`ExperimentBuilder`](#qiskit_noise_learning.experiment_builder.ExperimentBuilder "qiskit_noise_learning.experiment_builder.ExperimentBuilder") is itself an [`ExperimentBuilderStage`](/docs/api/qiskit-noise-learning/generated/experiment-builder-experiment-builder-stage "qiskit_noise_learning.experiment_builder.ExperimentBuilderStage"), builders can be nested and used anywhere a single stage is expected.

**Parameters**

**stages** – The stages to chain in sequential order.

### \_\_init\_\_

`__init__(*stages: ExperimentBuilderStage)`

## Methods

|                                                                                                                                                                    |                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ |
| [`__init__`](#qiskit_noise_learning.experiment_builder.ExperimentBuilder.__init__ "qiskit_noise_learning.experiment_builder.ExperimentBuilder.__init__")(\*stages) |                                                  |
| `run`(experiment)                                                                                                                                                  | Validate required fields, then apply this stage. |

## Attributes

|                                                                                                                                                                                  |                                                                        |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| [`populates_fields`](#qiskit_noise_learning.experiment_builder.ExperimentBuilder.populates_fields "qiskit_noise_learning.experiment_builder.ExperimentBuilder.populates_fields") | The union of all fields populated by stages in this pipeline.          |
| [`required_fields`](#qiskit_noise_learning.experiment_builder.ExperimentBuilder.required_fields "qiskit_noise_learning.experiment_builder.ExperimentBuilder.required_fields")    | The fields required by this pipeline that no internal stage populates. |
| [`stages`](#qiskit_noise_learning.experiment_builder.ExperimentBuilder.stages "qiskit_noise_learning.experiment_builder.ExperimentBuilder.stages")                               | The stages in this builder.                                            |

### stages

Type: [`tuple`](https://docs.python.org/3/library/stdtypes.html#tuple)\[[`ExperimentBuilderStage`](/docs/api/qiskit-noise-learning/generated/experiment-builder-experiment-builder-stage "qiskit_noise_learning.experiment_builder.experiment_builder_stage.ExperimentBuilderStage"), ...]

The stages in this builder.

### required\_fields

Type: [`tuple`](https://docs.python.org/3/library/stdtypes.html#tuple)\[[`str`](https://docs.python.org/3/library/stdtypes.html#str), ...]

The fields required by this pipeline that no internal stage populates.

### populates\_fields

Type: [`tuple`](https://docs.python.org/3/library/stdtypes.html#tuple)\[[`str`](https://docs.python.org/3/library/stdtypes.html#str), ...]

The union of all fields populated by stages in this pipeline.
