qiskit_superstaq.serialization

Attributes

QPY_SERIALIZATION_VERSION

T

Functions

deserialize_circuits(→ list[qiskit.QuantumCircuit])

Deserializes serialized qiskit.QuantumCircuit(s).

insert_times_and_durations(→ qiskit.QuantumCircuit)

Adds timing info to a circuit.

json_encoder(→ dict[str, object])

Converts (real or complex) arrays to a JSON-serializable format.

json_resolver(→ T | numpy.typing.NDArray[numpy.complex_])

Hook to deserialize objects that were serialized via json_encoder().

serialize_circuits(→ str)

Serializes qiskit.QuantumCircuit(s) into a single string.

to_json(→ str)

Extends json.dumps to support numpy arrays.

Module Contents

qiskit_superstaq.serialization.deserialize_circuits(serialized_circuits: str) list[qiskit.QuantumCircuit]

Deserializes serialized qiskit.QuantumCircuit(s).

Parameters:

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.

qiskit_superstaq.serialization.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.

Parameters:
  • circuit – The circuit to add timing information to.

  • durations – A list containing the duration of every instruction in circuit.

  • start_times – A list containing the start_time of every instruction in circuit.

Returns:

A new circuit, in which the .duration attribute of every gate has been filled-in, as well as the .duration .op_start_times attributes of the circuit itself.

qiskit_superstaq.serialization.json_encoder(val: object) dict[str, object]

Converts (real or complex) arrays to a JSON-serializable format.

Parameters:

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.

qiskit_superstaq.serialization.json_resolver(val: T) T | numpy.typing.NDArray[numpy.complex_]

Hook to deserialize objects that were serialized via json_encoder().

Parameters:

val – The deserialized object.

Returns:

The resolved object.

qiskit_superstaq.serialization.serialize_circuits(circuits: qiskit.QuantumCircuit | collections.abc.Sequence[qiskit.QuantumCircuit]) str

Serializes qiskit.QuantumCircuit(s) into a single string.

Parameters:

circuits – A qiskit.QuantumCircuit or list of qiskit.QuantumCircuit to be serialized.

Returns:

A string representing the serialized circuit(s).

qiskit_superstaq.serialization.to_json(val: object) str

Extends json.dumps to support numpy arrays.

Parameters:

val – The value to be serialized.

Returns:

The JSON-serialized value (a string).

qiskit_superstaq.serialization.QPY_SERIALIZATION_VERSION = 11
qiskit_superstaq.serialization.T