Skip to main contentIBM Quantum Documentation Preview
This is a preview build of IBM Quantum™ documentation. Refer to docs.quantum.ibm.com for the official documentation.

Save circuits to disk

Package versions

The code on this page was developed using the following requirements. We recommend using these versions or newer.

qiskit[all]~=1.2.4
qiskit-ibm-runtime~=0.33.2
qiskit-aer~=0.15.1
qiskit-serverless~=0.18.0
qiskit-ibm-catalog~=0.2
qiskit-addon-sqd~=0.8.0
qiskit-addon-utils~=0.1.0
qiskit-addon-aqc-tensor~=0.1.2
qiskit-addon-obp~=0.1.0
scipy~=1.14.1
pyscf~=2.7.0

Use QPY serialization to save your circuit to file. QPY files store the full Qiskit circuit object and will be compatible with newer versions of Qiskit (although not necessarily with older versions of Qiskit).

To demonstrate, the following cell creates a simple quantum circuit.

from qiskit import QuantumCircuit
 
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()

To save this file to disk, use the qpy.dump function. You can also save a list of circuits.

from qiskit import qpy
 
with open("test.qpy", "wb") as file:
    qpy.dump(qc, file)

This circuit is now saved to the file test.qpy. If you restart your Python kernel, you can re-load the circuit using the qpy.load function. Note that this always returns a list of circuits, even if you only serialized one circuit.

with open("test.qpy", "rb") as handle:
    qc = qpy.load(handle)
 
qc[0].draw("mpl")

Output: