qiskit_superstaq.serialization ============================== .. py:module:: qiskit_superstaq.serialization Attributes ---------- .. autoapisummary:: qiskit_superstaq.serialization.QFTGate qiskit_superstaq.serialization.QPY_SERIALIZATION_VERSION qiskit_superstaq.serialization.T Functions --------- .. autoapisummary:: qiskit_superstaq.serialization.deserialize_circuits qiskit_superstaq.serialization.insert_times_and_durations qiskit_superstaq.serialization.json_encoder qiskit_superstaq.serialization.json_resolver qiskit_superstaq.serialization.serialize_circuits qiskit_superstaq.serialization.to_json Module Contents --------------- .. py:function:: deserialize_circuits(serialized_circuits: str) -> list[qiskit.QuantumCircuit] Deserializes serialized qiskit.QuantumCircuit(s). :param serialized_circuits: String generated via `qiskit_superstaq.serialization.serialize_circuit()`. :returns: A list containing the deserialized circuits. :raises ValueError: If `serialized_circuits` can't be deserialized. .. py:function:: insert_times_and_durations(circuit: qiskit.QuantumCircuit, durations: collections.abc.Sequence[int], start_times: collections.abc.Sequence[int]) -> qiskit.QuantumCircuit Adds timing info to a circuit. This is a workaround for https://github.com/Qiskit/qiskit/issues/11879. :param circuit: The circuit to add timing information to. :param durations: A list containing the duration of every instruction in `circuit`. :param start_times: A list containing the start_time of every instruction in `circuit`. :returns: A new circuit, in which the `.duration` attribute of every delay gate has been filled-in, as well as the `.duration` and `.op_start_times` attributes of the `circuit` itself. .. py:function:: json_encoder(val: object) -> dict[str, object] Converts (real or complex) arrays to a JSON-serializable format. :param val: The value to be serialized. :returns: A JSON dictionary containing the provided name and array values. :raises TypeError: If `val` is not a `np.ndarray`. .. py:function:: json_resolver(val: T) -> T | numpy.typing.NDArray[numpy.complex128] Hook to deserialize objects that were serialized via `json_encoder()`. :param val: The deserialized object. :returns: The resolved object. .. py:function:: serialize_circuits(circuits: qiskit.QuantumCircuit | collections.abc.Sequence[qiskit.QuantumCircuit]) -> str Serializes qiskit.QuantumCircuit(s) into a single string. :param circuits: A `qiskit.QuantumCircuit` or list of `qiskit.QuantumCircuit` to be serialized. :returns: A string representing the serialized circuit(s). .. py:function:: to_json(val: object) -> str Extends `json.dumps` to support numpy arrays. :param val: The value to be serialized. :returns: The JSON-serialized value (a string). .. py:data:: QFTGate .. py:data:: QPY_SERIALIZATION_VERSION :value: 13 .. py:data:: T