Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

build(backend=None, schedule=None, name=None, default_alignment='left', default_transpiler_settings=None, default_circuit_scheduler_settings=None)

GitHub(opens in a new tab)

Create a context manager for launching the imperative pulse builder DSL.

To enter a building context and starting building a pulse program:

from qiskit import execute, pulse
from qiskit.providers.fake_provider import FakeOpenPulse2Q
backend = FakeOpenPulse2Q()
d0 = pulse.DriveChannel(0)
with as pulse_prog:, 0.5), d0)

While the output program pulse_prog cannot be executed as we are using a mock backend. If a real backend is being used, executing the program is done with:

qiskit.execute(pulse_prog, backend)


  • backend (Backend) – A Qiskit backend. If not supplied certain builder functionality will be unavailable.
  • schedule (Optional[ScheduleBlock]) – A pulse ScheduleBlock in which your pulse program will be built.
  • name (Optional[str]) – Name of pulse program to be built.
  • default_alignment (Union[str, AlignmentKind, None]) – Default scheduling alignment for builder. One of left, right, sequential or an alignment context.
  • default_transpiler_settings (Optional[Dict[str, Any]]) – Default settings for the transpiler.
  • default_circuit_scheduler_settings (Optional[Dict[str, Any]]) – Default settings for the circuit to pulse scheduler.

Return type



A new builder context which has the active builder initialized.

Was this page helpful?
Report a bug or request content on GitHub.