qiskit.qpy.dump¶
- dump(programs, file_obj, metadata_serializer=None)[source]¶
Write QPY binary data to a file
This function is used to save a circuit to a file for later use or transfer between machines. The QPY format is backwards compatible and can be loaded with future versions of Qiskit.
For example:
from qiskit.circuit import QuantumCircuit from qiskit import qpy qc = QuantumCircuit(2, name='Bell', metadata={'test': True}) qc.h(0) qc.cx(0, 1) qc.measure_all()
from this you can write the qpy data to a file:
with open('bell.qpy', 'wb') as fd: qpy.dump(qc, fd)
or a gzip compressed file:
import gzip with gzip.open('bell.qpy.gz', 'wb') as fd: qpy.dump(qc, fd)
Which will save the qpy serialized circuit to the provided file.
Deprecated since version 0.21.0:
qiskit.qpy.interface.dump()
's argumentcircuits
is deprecated as of qiskit-terra 0.21.0. It will be removed no earlier than 3 months after the release date. Instead, use the argumentprograms
, which behaves identically.- Parameters
programs (Union[List[Union[QuantumCircuit, ScheduleBlock]], QuantumCircuit, ScheduleBlock]) -- QPY supported object(s) to store in the specified file like object. QPY supports
QuantumCircuit
andScheduleBlock
. Different data types must be separately serialized.file_obj (BinaryIO) -- The file like object to write the QPY data too
metadata_serializer (Optional[Type[JSONEncoder]]) -- An optional JSONEncoder class that will be passed the
.metadata
attribute for each program inprograms
and will be used as thecls
kwarg on the json.dump()` call to JSON serialize that dictionary.
- Raises
QpyError -- When multiple data format is mixed in the output.
TypeError -- When invalid data type is input.