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]~=2.5.2
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.
# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util
_needed = {"qiskit": "qiskit"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
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")