From b7e9c9abb9709486f3945ba2511814a3ddef96ba Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Sun, 14 Jul 2024 01:27:51 +0400 Subject: [PATCH 01/38] refactor: update classification, rabi amplitude and resonator spectroscopy routines --- src/qibocal/protocols/classification.py | 23 +++++++++-------- src/qibocal/protocols/rabi/amplitude.py | 4 +-- .../protocols/rabi/amplitude_signal.py | 2 +- src/qibocal/protocols/rabi/utils.py | 24 ++++++++++-------- .../protocols/resonator_spectroscopy.py | 25 +++++++++++-------- src/qibocal/update.py | 1 - 6 files changed, 43 insertions(+), 36 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 9898adfc2..c4804a267 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -9,7 +9,7 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence +from qibolab.pulses import Delay, PulseSequence from qibolab.qubits import QubitId from sklearn.metrics import roc_auc_score, roc_curve @@ -182,16 +182,16 @@ def _acquisition( sequences, all_ro_pulses = [], [] for state in [0, 1]: sequence = PulseSequence() - RX_pulses = {} ro_pulses = {} - for qubit in targets: - RX_pulses[qubit] = platform.create_RX_pulse(qubit, start=0) - ro_pulses[qubit] = platform.create_qubit_readout_pulse( - qubit, start=RX_pulses[qubit].finish - ) + for q in targets: + qubit = platform.qubits[q] + rx_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) + ro_sequence = qubit.native_gates.MZ.create_sequence() if state == 1: - sequence.add(RX_pulses[qubit]) - sequence.add(ro_pulses[qubit]) + sequence.extend(rx_sequence) + sequence[qubit.measure.name].append(Delay(duration=rx_sequence.duration)) + sequence.extend(ro_sequence) + ro_pulses[q] = ro_sequence[qubit.measure.name][0].id sequences.append(sequence) all_ro_pulses.append(ro_pulses) @@ -199,7 +199,8 @@ def _acquisition( data = SingleShotClassificationData( nshots=params.nshots, qubit_frequencies={ - qubit: platform.qubits[qubit].drive_frequency for qubit in targets + qubit: platform.config(platform.qubits[qubit].drive.name).frequency + for qubit in targets }, classifiers_list=params.classifiers_list, savedir=params.savedir, @@ -220,7 +221,7 @@ def _acquisition( for ig, (state, ro_pulses) in enumerate(zip([0, 1], all_ro_pulses)): for qubit in targets: - serial = ro_pulses[qubit].serial + serial = ro_pulses[qubit] if params.unrolling: result = results[serial][ig] else: diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index 4a3d4b209..e872b5a54 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -53,7 +53,7 @@ def _acquisition( to find the drive pulse amplitude that creates a rotation of a desired angle. """ - sequence, qd_pulses, _, durations = utils.sequence_amplitude( + sequence, qd_pulses, ro_pulses, durations = utils.sequence_amplitude( targets, params, platform ) # define the parameter to sweep and its range: @@ -84,7 +84,7 @@ def _acquisition( sweeper, ) for qubit in targets: - prob = results[qubit].probability(state=1) + prob = results[ro_pulses[qubit].id].probability(state=1) data.register_qubit( RabiAmpType, (qubit), diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 31a8eb04a..57bacfab7 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -100,7 +100,7 @@ def _acquisition( sweeper, ) for qubit in targets: - result = results[ro_pulses[qubit].serial] + result = results[ro_pulses[qubit].id] data.register_qubit( RabiAmpSignalType, (qubit), diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index d31a40679..797280c6b 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -2,7 +2,7 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab.platform import Platform -from qibolab.pulses import PulseSequence +from qibolab.pulses import Delay, PulseSequence from qibolab.qubits import QubitId from scipy.optimize import curve_fit @@ -231,17 +231,21 @@ def sequence_amplitude( qd_pulses = {} ro_pulses = {} durations = {} - for qubit in targets: - qd_pulses[qubit] = platform.create_RX_pulse(qubit, start=0) + for q in targets: + qubit = platform.qubits[q] + qd_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) + ro_sequence = qubit.native_gates.MZ.create_sequence() + + qd_pulses[q] = qd_sequence[qubit.drive.name][0] if params.pulse_length is not None: - qd_pulses[qubit].duration = params.pulse_length + qd_pulses[q].duration = params.pulse_length - durations[qubit] = qd_pulses[qubit].duration - ro_pulses[qubit] = platform.create_qubit_readout_pulse( - qubit, start=qd_pulses[qubit].finish - ) - sequence.add(qd_pulses[qubit]) - sequence.add(ro_pulses[qubit]) + durations[q] = qd_pulses[q].duration + ro_pulses[q] = ro_sequence[qubit.measure.name][0] + + sequence[qubit.drive.name].append(qd_pulses[q]) + sequence[qubit.measure.name].append(Delay(duration=durations[q])) + sequence[qubit.measure.name].append(ro_pulses[q]) return sequence, qd_pulses, ro_pulses, durations diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index d66815481..a112b338d 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -184,24 +184,26 @@ def _acquisition( amplitudes = {} attenuations = {} - for qubit in targets: - ro_pulses[qubit] = platform.create_qubit_readout_pulse(qubit, start=0) + for q in targets: + qubit = platform.qubits[q] + ro_sequence = qubit.native_gates.MZ.create_sequence() + ro_pulses[q] = ro_sequence[qubit.measure.name][0] if params.amplitude is not None: - ro_pulses[qubit].amplitude = params.amplitude + ro_pulses[q].amplitude = params.amplitude - amplitudes[qubit] = ro_pulses[qubit].amplitude + amplitudes[q] = ro_pulses[q].amplitude if params.attenuation is not None: - platform.qubits[qubit].readout.attenuation = params.attenuation + platform.qubits[q].readout.attenuation = params.attenuation try: - attenuation = platform.qubits[qubit].readout.attenuation + attenuation = platform.qubits[q].readout.attenuation except AttributeError: attenuation = None - attenuations[qubit] = attenuation - sequence.add(ro_pulses[qubit]) + attenuations[q] = attenuation + sequence[qubit.measure.name].append(ro_pulses[q]) # define the parameter to sweep and its range: delta_frequency_range = np.arange( @@ -210,7 +212,7 @@ def _acquisition( sweeper = Sweeper( Parameter.frequency, delta_frequency_range, - pulses=[ro_pulses[qubit] for qubit in targets], + channels=[platform.qubits[q].measure for q in targets], type=SweeperType.OFFSET, ) data = ResonatorSpectroscopyData( @@ -230,15 +232,16 @@ def _acquisition( # retrieve the results for every qubit for qubit in targets: - result = results[ro_pulses[qubit].serial] + result = results[ro_pulses[qubit].id] # store the results + ro_frequency = platform.config(platform.qubits[qubit].measure.name).frequency data.register_qubit( ResSpecType, (qubit), dict( signal=result.average.magnitude, phase=result.average.phase, - freq=delta_frequency_range + ro_pulses[qubit].frequency, + freq=delta_frequency_range + ro_frequency, error_signal=result.average.std, error_phase=result.phase_std, ), diff --git a/src/qibocal/update.py b/src/qibocal/update.py index 376cad2c3..2d14f887f 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -5,7 +5,6 @@ import numpy as np from qibolab import pulses -from qibolab.native import VirtualZPulse from qibolab.platform import Platform from qibolab.qubits import QubitId, QubitPairId From 418f7edd6863f583948041d9ece46f202b39191a Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Mon, 15 Jul 2024 16:44:16 +0400 Subject: [PATCH 02/38] chore: update T1, T2 signal and rabi length routines --- src/qibocal/protocols/coherence/t1_signal.py | 30 ++++++++------ src/qibocal/protocols/coherence/t2_signal.py | 42 ++++++++++---------- src/qibocal/protocols/rabi/length.py | 10 ++--- src/qibocal/protocols/rabi/length_signal.py | 10 ++--- src/qibocal/protocols/rabi/utils.py | 31 +++++++++------ 5 files changed, 67 insertions(+), 56 deletions(-) diff --git a/src/qibocal/protocols/coherence/t1_signal.py b/src/qibocal/protocols/coherence/t1_signal.py index 74c13fc90..569dee6f6 100644 --- a/src/qibocal/protocols/coherence/t1_signal.py +++ b/src/qibocal/protocols/coherence/t1_signal.py @@ -6,7 +6,7 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence +from qibolab.pulses import Delay, PulseSequence from qibolab.qubits import QubitId from qibolab.sweeper import Parameter, Sweeper, SweeperType @@ -81,15 +81,19 @@ def _acquisition( # create a sequence of pulses for the experiment # RX - wait t - MZ qd_pulses = {} + delays = {} ro_pulses = {} sequence = PulseSequence() - for qubit in targets: - qd_pulses[qubit] = platform.create_RX_pulse(qubit, start=0) - ro_pulses[qubit] = platform.create_qubit_readout_pulse( - qubit, start=qd_pulses[qubit].duration - ) - sequence.add(qd_pulses[qubit]) - sequence.add(ro_pulses[qubit]) + for q in targets: + qubit = platform.qubits[q] + qd_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) + ro_sequence = qubit.native_gates.MZ.create_sequence() + qd_pulses[q] = qd_sequence[qubit.drive.name][0] + ro_pulses[q] = ro_sequence[qubit.measure.name][0] + delays[q] = Delay(duration=qd_pulses[q].duration) + sequence.extend(qd_sequence) + sequence[qubit.measure.name].append(delays[q]) + sequence.extend(ro_sequence) # define the parameter to sweep and its range: # wait time before readout @@ -100,9 +104,9 @@ def _acquisition( ) sweeper = Sweeper( - Parameter.start, + Parameter.duration, ro_wait_range, - [ro_pulses[qubit] for qubit in targets], + [delays[q] for q in targets], type=SweeperType.ABSOLUTE, ) @@ -122,15 +126,15 @@ def _acquisition( ) data = T1SignalData() - for qubit in targets: - result = results[ro_pulses[qubit].serial] + for q in targets: + result = results[ro_pulses[q].id] if params.single_shot: _waits = np.array(len(result.magnitude) * [ro_wait_range]) else: _waits = ro_wait_range data.register_qubit( utils.CoherenceType, - (qubit), + (q), dict(wait=_waits, signal=result.magnitude, phase=result.phase), ) diff --git a/src/qibocal/protocols/coherence/t2_signal.py b/src/qibocal/protocols/coherence/t2_signal.py index 4c8ffc714..17127a817 100644 --- a/src/qibocal/protocols/coherence/t2_signal.py +++ b/src/qibocal/protocols/coherence/t2_signal.py @@ -5,7 +5,7 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence +from qibolab.pulses import Delay, PulseSequence from qibolab.qubits import QubitId from qibolab.sweeper import Parameter, Sweeper, SweeperType @@ -60,21 +60,23 @@ def _acquisition( # create a sequence of pulses for the experiment # RX90 - t - RX90 - MZ ro_pulses = {} - RX90_pulses1 = {} - RX90_pulses2 = {} + qd_delays = {} + ro_delays = {} sequence = PulseSequence() - for qubit in targets: - RX90_pulses1[qubit] = platform.create_RX90_pulse(qubit, start=0) - RX90_pulses2[qubit] = platform.create_RX90_pulse( - qubit, - start=RX90_pulses1[qubit].finish, - ) - ro_pulses[qubit] = platform.create_qubit_readout_pulse( - qubit, start=RX90_pulses2[qubit].finish - ) - sequence.add(RX90_pulses1[qubit]) - sequence.add(RX90_pulses2[qubit]) - sequence.add(ro_pulses[qubit]) + for q in targets: + qubit = platform.qubits[q] + qd_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi / 2, phi=0) + ro_sequence = qubit.native_gates.MZ.create_sequence() + qd_delays[q] = Delay(duration=16) + ro_delays[q] = Delay(duration=16) + qd_pulse = qd_sequence[qubit.drive.name][0] + ro_pulses[q] = ro_sequence[qubit.measure.name][0] + sequence.extend(qd_sequence) + sequence[qubit.drive.name].append(qd_delays[q]) + sequence.extend(qd_sequence) + sequence[qubit.measure.name].append(Delay(duration=2 * qd_pulse.duration)) + sequence[qubit.measure.name].append(ro_delays[q]) + sequence.extend(ro_sequence) # define the parameter to sweep and its range: waits = np.arange( @@ -85,9 +87,9 @@ def _acquisition( ) sweeper = Sweeper( - Parameter.start, + Parameter.duration, waits, - [RX90_pulses2[qubit] for qubit in targets], + [qd_delays[q] for q in targets] + [ro_delays[q] for q in targets], type=SweeperType.ABSOLUTE, ) @@ -106,15 +108,15 @@ def _acquisition( ) data = T2SignalData() - for qubit in targets: - result = results[ro_pulses[qubit].serial] + for q in targets: + result = results[ro_pulses[q].id] if params.single_shot: _waits = np.array(len(result.magnitude) * [waits]) else: _waits = waits data.register_qubit( utils.CoherenceType, - (qubit), + (q), dict(wait=_waits, signal=result.magnitude, phase=result.phase), ) return data diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index 1b529322b..5d9726548 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -64,7 +64,7 @@ def _acquisition( to find the drive pulse length that creates a rotation of a desired angle. """ - sequence, qd_pulses, _, amplitudes = utils.sequence_length( + sequence, qd_pulses, delays, ro_pulses, amplitudes = utils.sequence_length( targets, params, platform ) # define the parameter to sweep and its range: @@ -78,7 +78,7 @@ def _acquisition( sweeper = Sweeper( Parameter.duration, qd_pulse_duration_range, - [qd_pulses[qubit] for qubit in targets], + [qd_pulses[q] for q in targets] + [delays[q] for q in targets], type=SweeperType.ABSOLUTE, ) @@ -96,11 +96,11 @@ def _acquisition( sweeper, ) - for qubit in targets: - prob = results[qubit].probability(state=1) + for q in targets: + prob = results[ro_pulses[q].id].probability(state=1) data.register_qubit( RabiLenType, - (qubit), + (q), dict( length=qd_pulse_duration_range, prob=prob, diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index fc139197d..2c521c9c2 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -67,7 +67,7 @@ def _acquisition( to find the drive pulse length that creates a rotation of a desired angle. """ - sequence, qd_pulses, ro_pulses, amplitudes = utils.sequence_length( + sequence, qd_pulses, delays, ro_pulses, amplitudes = utils.sequence_length( targets, params, platform ) @@ -82,7 +82,7 @@ def _acquisition( sweeper = Sweeper( Parameter.duration, qd_pulse_duration_range, - [qd_pulses[qubit] for qubit in targets], + [qd_pulses[q] for q in targets] + [delays[q] for q in targets], type=SweeperType.ABSOLUTE, ) data = RabiLengthSignalData(amplitudes=amplitudes) @@ -99,11 +99,11 @@ def _acquisition( sweeper, ) - for qubit in targets: - result = results[ro_pulses[qubit].serial] + for q in targets: + result = results[ro_pulses[q].id] data.register_qubit( RabiLenSignalType, - (qubit), + (q), dict( length=qd_pulse_duration_range, signal=result.magnitude, diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index 797280c6b..1f1fece20 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -239,8 +239,8 @@ def sequence_amplitude( qd_pulses[q] = qd_sequence[qubit.drive.name][0] if params.pulse_length is not None: qd_pulses[q].duration = params.pulse_length - durations[q] = qd_pulses[q].duration + ro_pulses[q] = ro_sequence[qubit.measure.name][0] sequence[qubit.drive.name].append(qd_pulses[q]) @@ -255,22 +255,27 @@ def sequence_length( """Return sequence for rabi length.""" sequence = PulseSequence() qd_pulses = {} + delays = {} ro_pulses = {} amplitudes = {} - for qubit in targets: - qd_pulses[qubit] = platform.create_qubit_drive_pulse( - qubit, start=0, duration=params.pulse_duration_start - ) + for q in targets: + qubit = platform.qubits[q] + qd_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) + ro_sequence = qubit.native_gates.MZ.create_sequence() + + qd_pulses[q] = qd_sequence[qubit.drive.name][0] if params.pulse_amplitude is not None: - qd_pulses[qubit].amplitude = params.pulse_amplitude - amplitudes[qubit] = qd_pulses[qubit].amplitude + qd_pulses[q].amplitude = params.pulse_amplitude + amplitudes[q] = qd_pulses[q].amplitude - ro_pulses[qubit] = platform.create_qubit_readout_pulse( - qubit, start=qd_pulses[qubit].finish - ) - sequence.add(qd_pulses[qubit]) - sequence.add(ro_pulses[qubit]) - return sequence, qd_pulses, ro_pulses, amplitudes + delays[q] = Delay(duration=16) + ro_pulses[q] = ro_sequence[qubit.measure.name][0] + + sequence[qubit.drive.name].append(qd_pulses[q]) + sequence[qubit.measure.name].append(delays[q]) + sequence[qubit.measure.name].append(ro_pulses[q]) + + return sequence, qd_pulses, delays, ro_pulses, amplitudes def fit_length_function( From ac561bc074fc82e045e3d5a38d5894c9ffb42385 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 6 Aug 2024 23:09:21 +0400 Subject: [PATCH 03/38] chore: update single shot --- src/qibocal/protocols/classification.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index c4804a267..2f5259874 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -189,9 +189,9 @@ def _acquisition( ro_sequence = qubit.native_gates.MZ.create_sequence() if state == 1: sequence.extend(rx_sequence) - sequence[qubit.measure.name].append(Delay(duration=rx_sequence.duration)) + sequence[qubit.probe.name].append(Delay(duration=rx_sequence.duration)) sequence.extend(ro_sequence) - ro_pulses[q] = ro_sequence[qubit.measure.name][0].id + ro_pulses[q] = ro_sequence[qubit.probe.name][0].id sequences.append(sequence) all_ro_pulses.append(ro_pulses) @@ -213,11 +213,9 @@ def _acquisition( ) if params.unrolling: - results = platform.execute_pulse_sequences(sequences, options) + results = platform.execute(sequences, options) else: - results = [ - platform.execute_pulse_sequence(sequence, options) for sequence in sequences - ] + results = [platform.execute([sequence], options) for sequence in sequences] for ig, (state, ro_pulses) in enumerate(zip([0, 1], all_ro_pulses)): for qubit in targets: @@ -225,13 +223,13 @@ def _acquisition( if params.unrolling: result = results[serial][ig] else: - result = results[ig][serial] + result = results[ig][serial][0] data.register_qubit( ClassificationType, (qubit), dict( - i=result.voltage_i, - q=result.voltage_q, + i=result[..., 0], + q=result[..., 1], state=[state] * params.nshots, ), ) From e355ef2559b1186aff0005ddb17f080732411975 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 6 Aug 2024 23:57:08 +0400 Subject: [PATCH 04/38] chore: update rabi amplitude --- src/qibocal/protocols/rabi/amplitude.py | 9 +++++---- src/qibocal/protocols/rabi/amplitude_signal.py | 13 +++++++------ src/qibocal/protocols/rabi/utils.py | 12 ++++++------ 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index e872b5a54..4af3037fb 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -5,6 +5,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform from qibolab.qubits import QubitId +from qibolab.result import probability from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update @@ -73,18 +74,18 @@ def _acquisition( data = RabiAmplitudeData(durations=durations) # sweep the parameter - results = platform.sweep( - sequence, + results = platform.execute( + [sequence], ExecutionParameters( nshots=params.nshots, relaxation_time=params.relaxation_time, acquisition_type=AcquisitionType.DISCRIMINATION, averaging_mode=AveragingMode.SINGLESHOT, ), - sweeper, + [[sweeper]], ) for qubit in targets: - prob = results[ro_pulses[qubit].id].probability(state=1) + prob = probability(results[ro_pulses[qubit].id][0], state=1) data.register_qubit( RabiAmpType, (qubit), diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 57bacfab7..468f34659 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -6,6 +6,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform from qibolab.qubits import QubitId +from qibolab.result import magnitude, phase from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update @@ -89,25 +90,25 @@ def _acquisition( data = RabiAmplitudeSignalData(durations=durations) # sweep the parameter - results = platform.sweep( - sequence, + results = platform.execute( + [sequence], ExecutionParameters( nshots=params.nshots, relaxation_time=params.relaxation_time, acquisition_type=AcquisitionType.INTEGRATION, averaging_mode=AveragingMode.CYCLIC, ), - sweeper, + [[sweeper]], ) for qubit in targets: - result = results[ro_pulses[qubit].id] + result = results[ro_pulses[qubit].id][0] data.register_qubit( RabiAmpSignalType, (qubit), dict( amp=qd_pulses[qubit].amplitude * qd_pulse_amplitude_range, - signal=result.magnitude, - phase=result.phase, + signal=magnitude(result), + phase=phase(result), ), ) return data diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index 1f1fece20..806c5cf7d 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -241,11 +241,11 @@ def sequence_amplitude( qd_pulses[q].duration = params.pulse_length durations[q] = qd_pulses[q].duration - ro_pulses[q] = ro_sequence[qubit.measure.name][0] + ro_pulses[q] = ro_sequence[qubit.probe.name][0] sequence[qubit.drive.name].append(qd_pulses[q]) - sequence[qubit.measure.name].append(Delay(duration=durations[q])) - sequence[qubit.measure.name].append(ro_pulses[q]) + sequence[qubit.probe.name].append(Delay(duration=durations[q])) + sequence[qubit.probe.name].append(ro_pulses[q]) return sequence, qd_pulses, ro_pulses, durations @@ -269,11 +269,11 @@ def sequence_length( amplitudes[q] = qd_pulses[q].amplitude delays[q] = Delay(duration=16) - ro_pulses[q] = ro_sequence[qubit.measure.name][0] + ro_pulses[q] = ro_sequence[qubit.probe.name][0] sequence[qubit.drive.name].append(qd_pulses[q]) - sequence[qubit.measure.name].append(delays[q]) - sequence[qubit.measure.name].append(ro_pulses[q]) + sequence[qubit.probe.name].append(delays[q]) + sequence[qubit.probe.name].append(ro_pulses[q]) return sequence, qd_pulses, delays, ro_pulses, amplitudes From 1ab6ef87b34f7a9ca316f26259479c1d0f244b1b Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 6 Aug 2024 23:57:34 +0400 Subject: [PATCH 05/38] chore: update resonator spectroscopy --- .../protocols/resonator_spectroscopy.py | 25 ++++++++++--------- src/qibocal/update.py | 4 +-- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index a112b338d..d50913462 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -8,6 +8,7 @@ from qibolab.platform import Platform from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.result import magnitude, phase from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update @@ -187,7 +188,7 @@ def _acquisition( for q in targets: qubit = platform.qubits[q] ro_sequence = qubit.native_gates.MZ.create_sequence() - ro_pulses[q] = ro_sequence[qubit.measure.name][0] + ro_pulses[q] = ro_sequence[qubit.probe.name][0] if params.amplitude is not None: ro_pulses[q].amplitude = params.amplitude @@ -203,7 +204,7 @@ def _acquisition( attenuation = None attenuations[q] = attenuation - sequence[qubit.measure.name].append(ro_pulses[q]) + sequence[qubit.probe.name].append(ro_pulses[q]) # define the parameter to sweep and its range: delta_frequency_range = np.arange( @@ -212,7 +213,7 @@ def _acquisition( sweeper = Sweeper( Parameter.frequency, delta_frequency_range, - channels=[platform.qubits[q].measure for q in targets], + channels=[platform.qubits[q].probe for q in targets], type=SweeperType.OFFSET, ) data = ResonatorSpectroscopyData( @@ -224,26 +225,26 @@ def _acquisition( phase_sign=params.phase_sign, ) - results = platform.sweep( - sequence, + results = platform.execute( + [sequence], params.execution_parameters, - sweeper, + [[sweeper]], ) # retrieve the results for every qubit for qubit in targets: - result = results[ro_pulses[qubit].id] + result = results[ro_pulses[qubit].id][0] # store the results - ro_frequency = platform.config(platform.qubits[qubit].measure.name).frequency + ro_frequency = platform.config(platform.qubits[qubit].probe.name).frequency data.register_qubit( ResSpecType, (qubit), dict( - signal=result.average.magnitude, - phase=result.average.phase, + signal=magnitude(result), + phase=phase(result), freq=delta_frequency_range + ro_frequency, - error_signal=result.average.std, - error_phase=result.phase_std, + # error_signal=error_signal, + # error_phase=error_phase, ), ) return data diff --git a/src/qibocal/update.py b/src/qibocal/update.py index 2d14f887f..c3e8e4bc7 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -22,8 +22,8 @@ def readout_frequency(freq: float, platform: Platform, qubit: QubitId): mz = platform.qubits[qubit].native_gates.MZ freq_hz = int(freq) mz.frequency = freq_hz - if mz.if_frequency is not None: - mz.if_frequency = freq_hz - platform.qubits[qubit].readout.lo_frequency + # if mz.if_frequency is not None: + # mz.if_frequency = freq_hz - platform.qubits[qubit].readout.lo_frequency platform.qubits[qubit].readout_frequency = freq_hz From 4626eaaf726515d8f18c557f57fa5b00c90f3f03 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Sun, 11 Aug 2024 15:05:59 +0400 Subject: [PATCH 06/38] chore: update routines for the new sequence layout --- src/qibocal/protocols/classification.py | 4 ++-- src/qibocal/protocols/rabi/utils.py | 10 +++++----- src/qibocal/protocols/resonator_spectroscopy.py | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 2f5259874..900a5ae66 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -189,9 +189,9 @@ def _acquisition( ro_sequence = qubit.native_gates.MZ.create_sequence() if state == 1: sequence.extend(rx_sequence) - sequence[qubit.probe.name].append(Delay(duration=rx_sequence.duration)) + sequence.append((qubit.probe.name, Delay(duration=rx_sequence.duration))) sequence.extend(ro_sequence) - ro_pulses[q] = ro_sequence[qubit.probe.name][0].id + ro_pulses[q] = ro_sequence[0][1].id sequences.append(sequence) all_ro_pulses.append(ro_pulses) diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index 806c5cf7d..ee29e1e51 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -236,16 +236,16 @@ def sequence_amplitude( qd_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) ro_sequence = qubit.native_gates.MZ.create_sequence() - qd_pulses[q] = qd_sequence[qubit.drive.name][0] + qd_pulses[q] = qd_sequence[0][1] if params.pulse_length is not None: qd_pulses[q].duration = params.pulse_length durations[q] = qd_pulses[q].duration - ro_pulses[q] = ro_sequence[qubit.probe.name][0] + ro_pulses[q] = ro_sequence[0][1] - sequence[qubit.drive.name].append(qd_pulses[q]) - sequence[qubit.probe.name].append(Delay(duration=durations[q])) - sequence[qubit.probe.name].append(ro_pulses[q]) + sequence.append((qubit.drive.name, qd_pulses[q])) + sequence.append((qubit.probe.name, Delay(duration=durations[q]))) + sequence.append((qubit.probe.name, ro_pulses[q])) return sequence, qd_pulses, ro_pulses, durations diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index d50913462..0bc4f8463 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -188,7 +188,7 @@ def _acquisition( for q in targets: qubit = platform.qubits[q] ro_sequence = qubit.native_gates.MZ.create_sequence() - ro_pulses[q] = ro_sequence[qubit.probe.name][0] + ro_pulses[q] = ro_sequence[0][1] if params.amplitude is not None: ro_pulses[q].amplitude = params.amplitude @@ -204,7 +204,7 @@ def _acquisition( attenuation = None attenuations[q] = attenuation - sequence[qubit.probe.name].append(ro_pulses[q]) + sequence.concatenate(ro_sequence) # define the parameter to sweep and its range: delta_frequency_range = np.arange( From 3c55512a469d4ee075e57831b4ed898712ee8713 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 13 Aug 2024 20:33:07 +0400 Subject: [PATCH 07/38] fix: update Rabi length for new sequence layout --- src/qibocal/protocols/rabi/length.py | 9 +++++---- src/qibocal/protocols/rabi/utils.py | 10 +++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index 5d9726548..5dc2a7b86 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -6,6 +6,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform from qibolab.qubits import QubitId +from qibolab.result import probability from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update @@ -85,19 +86,19 @@ def _acquisition( data = RabiLengthData(amplitudes=amplitudes) # execute the sweep - results = platform.sweep( - sequence, + results = platform.execute( + [sequence], ExecutionParameters( nshots=params.nshots, relaxation_time=params.relaxation_time, acquisition_type=AcquisitionType.DISCRIMINATION, averaging_mode=AveragingMode.SINGLESHOT, ), - sweeper, + [[sweeper]], ) for q in targets: - prob = results[ro_pulses[q].id].probability(state=1) + prob = probability(results[ro_pulses[q].id][0], state=1) data.register_qubit( RabiLenType, (q), diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index ee29e1e51..4e41164ca 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -263,17 +263,17 @@ def sequence_length( qd_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) ro_sequence = qubit.native_gates.MZ.create_sequence() - qd_pulses[q] = qd_sequence[qubit.drive.name][0] + qd_pulses[q] = qd_sequence[0][1] if params.pulse_amplitude is not None: qd_pulses[q].amplitude = params.pulse_amplitude amplitudes[q] = qd_pulses[q].amplitude delays[q] = Delay(duration=16) - ro_pulses[q] = ro_sequence[qubit.probe.name][0] + ro_pulses[q] = ro_sequence[0][1] - sequence[qubit.drive.name].append(qd_pulses[q]) - sequence[qubit.probe.name].append(delays[q]) - sequence[qubit.probe.name].append(ro_pulses[q]) + sequence.append((qubit.drive.name, qd_pulses[q])) + sequence.append((qubit.probe.name, delays[q])) + sequence.append((qubit.probe.name, ro_pulses[q])) return sequence, qd_pulses, delays, ro_pulses, amplitudes From d93cd265f3ec069e6d8b975957d93a66e4b2ec00 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 13 Aug 2024 20:33:24 +0400 Subject: [PATCH 08/38] fix: update Rabi length signal for new sequence layout --- src/qibocal/protocols/rabi/length_signal.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index 2c521c9c2..852169bed 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -6,6 +6,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform from qibolab.qubits import QubitId +from qibolab.result import magnitude, phase from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update @@ -88,26 +89,26 @@ def _acquisition( data = RabiLengthSignalData(amplitudes=amplitudes) # execute the sweep - results = platform.sweep( - sequence, + results = platform.execute( + [sequence], ExecutionParameters( nshots=params.nshots, relaxation_time=params.relaxation_time, acquisition_type=AcquisitionType.INTEGRATION, averaging_mode=AveragingMode.CYCLIC, ), - sweeper, + [[sweeper]], ) for q in targets: - result = results[ro_pulses[q].id] + result = results[ro_pulses[q].id][0] data.register_qubit( RabiLenSignalType, (q), dict( length=qd_pulse_duration_range, - signal=result.magnitude, - phase=result.phase, + signal=magnitude(result), + phase=phase(result), ), ) return data From e9afb6b92dcd963b966d02a4cfce36c45bc50a5b Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Fri, 16 Aug 2024 21:09:57 +0400 Subject: [PATCH 09/38] chore: update single shot for new qibolab serialization --- src/qibocal/auto/operation.py | 3 +-- src/qibocal/auto/output.py | 3 +-- src/qibocal/protocols/classification.py | 5 +++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/qibocal/auto/operation.py b/src/qibocal/auto/operation.py index 8b1f602eb..1b2240f7b 100644 --- a/src/qibocal/auto/operation.py +++ b/src/qibocal/auto/operation.py @@ -11,7 +11,7 @@ import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.qubits import Qubit, QubitId, QubitPair, QubitPairId +from qibolab.qubits import Qubit, QubitId, QubitPairId from qibocal.config import log @@ -23,7 +23,6 @@ """Valid value for a routine and runcard parameter.""" Qubits = dict[QubitId, Qubit] """Convenient way of passing qubit pairs in the routines.""" -QubitsPairs = dict[tuple[QubitId, QubitId], QubitPair] DATAFILE = "data" diff --git a/src/qibocal/auto/output.py b/src/qibocal/auto/output.py index 275c4cfd8..2b8bdf194 100644 --- a/src/qibocal/auto/output.py +++ b/src/qibocal/auto/output.py @@ -8,7 +8,6 @@ from qibo.backends import construct_backend from qibolab import Platform -from qibolab.serialize import dump_platform from ..config import log from ..version import __version__ @@ -213,7 +212,7 @@ def update_platform(platform: Platform, path: Path): platpath = path / UPDATED_PLATFORM platpath.mkdir(parents=True, exist_ok=True) - dump_platform(platform, platpath) + # dump_platform(platform, platpath) def _export_stats(self): """Export task statistics. diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 900a5ae66..285e84436 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -185,8 +185,9 @@ def _acquisition( ro_pulses = {} for q in targets: qubit = platform.qubits[q] - rx_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) - ro_sequence = qubit.native_gates.MZ.create_sequence() + native = platform.parameters.native_gates.single_qubit[qubit.name] + rx_sequence = native.RX.create_sequence(theta=np.pi, phi=0) + ro_sequence = native.MZ.create_sequence() if state == 1: sequence.extend(rx_sequence) sequence.append((qubit.probe.name, Delay(duration=rx_sequence.duration))) From fec902975aa715d32044f50334405715fba3f8c8 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Sun, 18 Aug 2024 13:36:58 +0300 Subject: [PATCH 10/38] chore: change PulseSequence import to qibolab.sequence --- src/qibocal/protocols/allxy/allxy.py | 2 +- src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py | 2 +- .../protocols/allxy/allxy_resonator_depletion_tuning.py | 2 +- src/qibocal/protocols/classification.py | 3 ++- src/qibocal/protocols/coherence/spin_echo.py | 2 +- src/qibocal/protocols/coherence/spin_echo_signal.py | 2 +- src/qibocal/protocols/coherence/t1.py | 2 +- src/qibocal/protocols/coherence/t1_sequences.py | 2 +- src/qibocal/protocols/coherence/t1_signal.py | 3 ++- src/qibocal/protocols/coherence/t2.py | 2 +- src/qibocal/protocols/coherence/t2_sequences.py | 2 +- src/qibocal/protocols/coherence/t2_signal.py | 3 ++- src/qibocal/protocols/coherence/zeno.py | 2 +- src/qibocal/protocols/coherence/zeno_signal.py | 2 +- src/qibocal/protocols/couplers/coupler_chevron.py | 2 +- src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py | 2 +- .../protocols/couplers/coupler_resonator_spectroscopy.py | 2 +- src/qibocal/protocols/dispersive_shift.py | 2 +- src/qibocal/protocols/dispersive_shift_qutrit.py | 2 +- src/qibocal/protocols/drag.py | 2 +- src/qibocal/protocols/fast_reset/fast_reset.py | 2 +- src/qibocal/protocols/flipping.py | 2 +- src/qibocal/protocols/flipping_signal.py | 2 +- src/qibocal/protocols/flux_dependence/qubit_crosstalk.py | 2 +- src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py | 2 +- src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py | 2 +- src/qibocal/protocols/flux_dependence/resonator_crosstalk.py | 2 +- .../protocols/flux_dependence/resonator_flux_dependence.py | 2 +- src/qibocal/protocols/qubit_power_spectroscopy.py | 2 +- src/qibocal/protocols/qubit_spectroscopy.py | 2 +- src/qibocal/protocols/qubit_spectroscopy_ef.py | 2 +- src/qibocal/protocols/qutrit_classification.py | 2 +- src/qibocal/protocols/rabi/ef.py | 2 +- src/qibocal/protocols/rabi/utils.py | 3 ++- src/qibocal/protocols/ramsey/ramsey.py | 2 +- src/qibocal/protocols/ramsey/ramsey_signal.py | 2 +- src/qibocal/protocols/ramsey/utils.py | 2 +- src/qibocal/protocols/readout_characterization.py | 2 +- src/qibocal/protocols/readout_mitigation_matrix.py | 2 +- .../protocols/readout_optimization/resonator_amplitude.py | 2 +- .../protocols/readout_optimization/resonator_frequency.py | 2 +- src/qibocal/protocols/resonator_punchout.py | 2 +- src/qibocal/protocols/resonator_punchout_attenuation.py | 2 +- src/qibocal/protocols/resonator_spectroscopy.py | 2 +- .../signal_experiments/calibrate_state_discrimination.py | 2 +- .../protocols/signal_experiments/time_of_flight_readout.py | 2 +- src/qibocal/protocols/two_qubit_interaction/chevron/utils.py | 2 +- src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py | 2 +- .../protocols/two_qubit_interaction/virtual_z_phases.py | 3 ++- 49 files changed, 54 insertions(+), 49 deletions(-) diff --git a/src/qibocal/protocols/allxy/allxy.py b/src/qibocal/protocols/allxy/allxy.py index 3c52b4f72..3e824f20c 100644 --- a/src/qibocal/protocols/allxy/allxy.py +++ b/src/qibocal/protocols/allxy/allxy.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py index df76e1ca1..7b294bf2f 100644 --- a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py index 6807ab993..5baace6e5 100644 --- a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 285e84436..4f56bc772 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -9,8 +9,9 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import Delay, PulseSequence +from qibolab.pulses import Delay from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from sklearn.metrics import roc_auc_score, roc_curve from qibocal import update diff --git a/src/qibocal/protocols/coherence/spin_echo.py b/src/qibocal/protocols/coherence/spin_echo.py index 20e8fb042..0de75b494 100644 --- a/src/qibocal/protocols/coherence/spin_echo.py +++ b/src/qibocal/protocols/coherence/spin_echo.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/spin_echo_signal.py b/src/qibocal/protocols/coherence/spin_echo_signal.py index 94a852f01..218a8987e 100644 --- a/src/qibocal/protocols/coherence/spin_echo_signal.py +++ b/src/qibocal/protocols/coherence/spin_echo_signal.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal import update from qibocal.auto.operation import Parameters, Results, Routine diff --git a/src/qibocal/protocols/coherence/t1.py b/src/qibocal/protocols/coherence/t1.py index 54b99ee93..342610dde 100644 --- a/src/qibocal/protocols/coherence/t1.py +++ b/src/qibocal/protocols/coherence/t1.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Data, Routine diff --git a/src/qibocal/protocols/coherence/t1_sequences.py b/src/qibocal/protocols/coherence/t1_sequences.py index d932e3acb..1945fcce7 100644 --- a/src/qibocal/protocols/coherence/t1_sequences.py +++ b/src/qibocal/protocols/coherence/t1_sequences.py @@ -1,8 +1,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/t1_signal.py b/src/qibocal/protocols/coherence/t1_signal.py index 569dee6f6..5e99d4e7c 100644 --- a/src/qibocal/protocols/coherence/t1_signal.py +++ b/src/qibocal/protocols/coherence/t1_signal.py @@ -6,8 +6,9 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import Delay, PulseSequence +from qibolab.pulses import Delay from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/coherence/t2.py b/src/qibocal/protocols/coherence/t2.py index 0b2be1f16..dc494b506 100644 --- a/src/qibocal/protocols/coherence/t2.py +++ b/src/qibocal/protocols/coherence/t2.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/t2_sequences.py b/src/qibocal/protocols/coherence/t2_sequences.py index 85a38159a..6461f3bef 100644 --- a/src/qibocal/protocols/coherence/t2_sequences.py +++ b/src/qibocal/protocols/coherence/t2_sequences.py @@ -1,8 +1,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/t2_signal.py b/src/qibocal/protocols/coherence/t2_signal.py index 17127a817..5c1486239 100644 --- a/src/qibocal/protocols/coherence/t2_signal.py +++ b/src/qibocal/protocols/coherence/t2_signal.py @@ -5,8 +5,9 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import Delay, PulseSequence +from qibolab.pulses import Delay from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/coherence/zeno.py b/src/qibocal/protocols/coherence/zeno.py index 42561b60c..9d440a72e 100644 --- a/src/qibocal/protocols/coherence/zeno.py +++ b/src/qibocal/protocols/coherence/zeno.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/zeno_signal.py b/src/qibocal/protocols/coherence/zeno_signal.py index 1d0240eeb..fc232204f 100644 --- a/src/qibocal/protocols/coherence/zeno_signal.py +++ b/src/qibocal/protocols/coherence/zeno_signal.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/couplers/coupler_chevron.py b/src/qibocal/protocols/couplers/coupler_chevron.py index 2a5195dd2..e4037438f 100644 --- a/src/qibocal/protocols/couplers/coupler_chevron.py +++ b/src/qibocal/protocols/couplers/coupler_chevron.py @@ -4,8 +4,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitPairId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Results, Routine diff --git a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py index 8b5cb1c15..ad46dad4a 100644 --- a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py @@ -3,8 +3,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitPairId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py index 9848a2a8c..1e899ec2c 100644 --- a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py @@ -1,8 +1,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitPairId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/dispersive_shift.py b/src/qibocal/protocols/dispersive_shift.py index 19d6ff05f..9c9dabf3b 100644 --- a/src/qibocal/protocols/dispersive_shift.py +++ b/src/qibocal/protocols/dispersive_shift.py @@ -6,8 +6,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/dispersive_shift_qutrit.py b/src/qibocal/protocols/dispersive_shift_qutrit.py index 79545826c..75aa04ea5 100644 --- a/src/qibocal/protocols/dispersive_shift_qutrit.py +++ b/src/qibocal/protocols/dispersive_shift_qutrit.py @@ -6,8 +6,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Results, Routine diff --git a/src/qibocal/protocols/drag.py b/src/qibocal/protocols/drag.py index d915d78bd..efc6dd9e5 100644 --- a/src/qibocal/protocols/drag.py +++ b/src/qibocal/protocols/drag.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/fast_reset/fast_reset.py b/src/qibocal/protocols/fast_reset/fast_reset.py index a6081b424..853d11933 100644 --- a/src/qibocal/protocols/fast_reset/fast_reset.py +++ b/src/qibocal/protocols/fast_reset/fast_reset.py @@ -6,8 +6,8 @@ from plotly.subplots import make_subplots from qibolab import ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/flipping.py b/src/qibocal/protocols/flipping.py index 981be1b08..44f19484b 100644 --- a/src/qibocal/protocols/flipping.py +++ b/src/qibocal/protocols/flipping.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/flipping_signal.py b/src/qibocal/protocols/flipping_signal.py index 33e7900c4..4030bf285 100644 --- a/src/qibocal/protocols/flipping_signal.py +++ b/src/qibocal/protocols/flipping_signal.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py index dac8d8c8c..ffdbf18aa 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py @@ -5,8 +5,8 @@ import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py index e87983f05..560e7ee95 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py @@ -5,8 +5,8 @@ import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py index a4f2ef407..bf325be3f 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py @@ -3,8 +3,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py index 8933f796b..3c2d1b9b1 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py @@ -5,8 +5,8 @@ import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py index 415a15238..f16118036 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py @@ -5,8 +5,8 @@ import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/qubit_power_spectroscopy.py b/src/qibocal/protocols/qubit_power_spectroscopy.py index 5b77172bb..2fe470cb4 100644 --- a/src/qibocal/protocols/qubit_power_spectroscopy.py +++ b/src/qibocal/protocols/qubit_power_spectroscopy.py @@ -6,8 +6,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Parameters, Results, Routine diff --git a/src/qibocal/protocols/qubit_spectroscopy.py b/src/qibocal/protocols/qubit_spectroscopy.py index ae60f93f7..9f632f56e 100644 --- a/src/qibocal/protocols/qubit_spectroscopy.py +++ b/src/qibocal/protocols/qubit_spectroscopy.py @@ -3,8 +3,8 @@ import numpy as np from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/qubit_spectroscopy_ef.py b/src/qibocal/protocols/qubit_spectroscopy_ef.py index 72ac82f86..16df927e1 100644 --- a/src/qibocal/protocols/qubit_spectroscopy_ef.py +++ b/src/qibocal/protocols/qubit_spectroscopy_ef.py @@ -2,8 +2,8 @@ import numpy as np from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/qutrit_classification.py b/src/qibocal/protocols/qutrit_classification.py index c7a450667..ec9d85c22 100644 --- a/src/qibocal/protocols/qutrit_classification.py +++ b/src/qibocal/protocols/qutrit_classification.py @@ -4,8 +4,8 @@ import numpy as np from qibolab import AcquisitionType, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine from qibocal.fitting.classifier import run diff --git a/src/qibocal/protocols/rabi/ef.py b/src/qibocal/protocols/rabi/ef.py index 5797daf7c..b1dcb281f 100644 --- a/src/qibocal/protocols/rabi/ef.py +++ b/src/qibocal/protocols/rabi/ef.py @@ -3,8 +3,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index 4e41164ca..0edbe88e7 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -2,8 +2,9 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab.platform import Platform -from qibolab.pulses import Delay, PulseSequence +from qibolab.pulses import Delay from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit from qibocal.auto.operation import Parameters diff --git a/src/qibocal/protocols/ramsey/ramsey.py b/src/qibocal/protocols/ramsey/ramsey.py index cf33eb2f7..d5eb8d411 100644 --- a/src/qibocal/protocols/ramsey/ramsey.py +++ b/src/qibocal/protocols/ramsey/ramsey.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/ramsey/ramsey_signal.py b/src/qibocal/protocols/ramsey/ramsey_signal.py index b6f3aa6d3..dfc5b7f6e 100644 --- a/src/qibocal/protocols/ramsey/ramsey_signal.py +++ b/src/qibocal/protocols/ramsey/ramsey_signal.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/ramsey/utils.py b/src/qibocal/protocols/ramsey/utils.py index d3c3e95e3..a9a0206af 100644 --- a/src/qibocal/protocols/ramsey/utils.py +++ b/src/qibocal/protocols/ramsey/utils.py @@ -2,8 +2,8 @@ import numpy as np from qibolab import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit from qibocal.protocols.utils import fallback_period, guess_period diff --git a/src/qibocal/protocols/readout_characterization.py b/src/qibocal/protocols/readout_characterization.py index 04b5928eb..d22469a19 100644 --- a/src/qibocal/protocols/readout_characterization.py +++ b/src/qibocal/protocols/readout_characterization.py @@ -6,8 +6,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/readout_mitigation_matrix.py b/src/qibocal/protocols/readout_mitigation_matrix.py index 61397e4f5..e9098dc94 100644 --- a/src/qibocal/protocols/readout_mitigation_matrix.py +++ b/src/qibocal/protocols/readout_mitigation_matrix.py @@ -9,8 +9,8 @@ from qibo.models import Circuit from qibolab import ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit diff --git a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py index 6826d2757..67c955884 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py +++ b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py @@ -7,8 +7,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/resonator_frequency.py b/src/qibocal/protocols/readout_optimization/resonator_frequency.py index b31daf1d1..f7e20ac03 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_frequency.py +++ b/src/qibocal/protocols/readout_optimization/resonator_frequency.py @@ -6,8 +6,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/resonator_punchout.py b/src/qibocal/protocols/resonator_punchout.py index 58ad1dbf6..a54b22fc7 100644 --- a/src/qibocal/protocols/resonator_punchout.py +++ b/src/qibocal/protocols/resonator_punchout.py @@ -7,8 +7,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/resonator_punchout_attenuation.py b/src/qibocal/protocols/resonator_punchout_attenuation.py index 0ff28b693..909c9b783 100644 --- a/src/qibocal/protocols/resonator_punchout_attenuation.py +++ b/src/qibocal/protocols/resonator_punchout_attenuation.py @@ -7,8 +7,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index 0bc4f8463..71937b0b8 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -6,9 +6,9 @@ import numpy.typing as npt from _collections_abc import Callable from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId from qibolab.result import magnitude, phase +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py index 89c02242d..e1d014317 100644 --- a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py +++ b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py @@ -7,8 +7,8 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py index 94356618a..7722d3baa 100644 --- a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py +++ b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitId +from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine from qibocal.protocols.utils import S_TO_NS, table_dict, table_html diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py b/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py index 40ea08213..0e6382ae1 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py @@ -1,7 +1,7 @@ import numpy as np from qibolab.platform import Platform -from qibolab.pulses import PulseSequence from qibolab.qubits import QubitPairId +from qibolab.sequence import PulseSequence from ..utils import order_pair diff --git a/src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py b/src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py index 3602d88bd..8beabcbc6 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py +++ b/src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py @@ -3,7 +3,7 @@ from collections import defaultdict import numpy as np -from qibolab.pulses import PulseSequence +from qibolab.sequence import PulseSequence from .utils import READOUT_BASIS diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py index 01adbc5d1..8c49bb97a 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py @@ -9,8 +9,9 @@ from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.platform import Platform -from qibolab.pulses import Pulse, PulseSequence +from qibolab.pulses import Pulse from qibolab.qubits import QubitId, QubitPairId +from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit From c97ef7de4ca34b7a856893ee87d0465aa98e5189 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Sun, 18 Aug 2024 14:56:31 +0400 Subject: [PATCH 11/38] chore: update Rabi routines --- src/qibocal/protocols/classification.py | 5 +++-- src/qibocal/protocols/rabi/utils.py | 14 ++++++++------ src/qibocal/update.py | 6 +++--- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 4f56bc772..744cefb95 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -185,12 +185,13 @@ def _acquisition( sequence = PulseSequence() ro_pulses = {} for q in targets: - qubit = platform.qubits[q] - native = platform.parameters.native_gates.single_qubit[qubit.name] + native = platform.natives.single_qubit[q] rx_sequence = native.RX.create_sequence(theta=np.pi, phi=0) ro_sequence = native.MZ.create_sequence() if state == 1: sequence.extend(rx_sequence) + + qubit = platform.qubits[q] sequence.append((qubit.probe.name, Delay(duration=rx_sequence.duration))) sequence.extend(ro_sequence) ro_pulses[q] = ro_sequence[0][1].id diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index 0edbe88e7..3dbdb018d 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -233,9 +233,9 @@ def sequence_amplitude( ro_pulses = {} durations = {} for q in targets: - qubit = platform.qubits[q] - qd_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) - ro_sequence = qubit.native_gates.MZ.create_sequence() + natives = platform.natives.single_qubit[q] + qd_sequence = natives.RX.create_sequence(theta=np.pi, phi=0) + ro_sequence = natives.MZ.create_sequence() qd_pulses[q] = qd_sequence[0][1] if params.pulse_length is not None: @@ -244,6 +244,7 @@ def sequence_amplitude( ro_pulses[q] = ro_sequence[0][1] + qubit = platform.qubits[q] sequence.append((qubit.drive.name, qd_pulses[q])) sequence.append((qubit.probe.name, Delay(duration=durations[q]))) sequence.append((qubit.probe.name, ro_pulses[q])) @@ -260,9 +261,9 @@ def sequence_length( ro_pulses = {} amplitudes = {} for q in targets: - qubit = platform.qubits[q] - qd_sequence = qubit.native_gates.RX.create_sequence(theta=np.pi, phi=0) - ro_sequence = qubit.native_gates.MZ.create_sequence() + natives = platform.natives.single_qubit[q] + qd_sequence = natives.RX.create_sequence(theta=np.pi, phi=0) + ro_sequence = natives.MZ.create_sequence() qd_pulses[q] = qd_sequence[0][1] if params.pulse_amplitude is not None: @@ -272,6 +273,7 @@ def sequence_length( delays[q] = Delay(duration=16) ro_pulses[q] = ro_sequence[0][1] + qubit = platform.qubits[q] sequence.append((qubit.drive.name, qd_pulses[q])) sequence.append((qubit.probe.name, delays[q])) sequence.append((qubit.probe.name, ro_pulses[q])) diff --git a/src/qibocal/update.py b/src/qibocal/update.py index c3e8e4bc7..372b8dadf 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -34,7 +34,7 @@ def bare_resonator_frequency(freq: float, platform: Platform, qubit: QubitId): def readout_amplitude(amp: float, platform: Platform, qubit: QubitId): """Update readout amplitude value in platform for specific qubit.""" - platform.qubits[qubit].native_gates.MZ.amplitude = float(amp) + platform.natives.single_qubit[qubit].MZ.amplitude = float(amp) def readout_attenuation(att: int, platform: Platform, qubit: QubitId): @@ -57,7 +57,7 @@ def drive_amplitude(amp: Union[float, tuple, list], platform: Platform, qubit: Q """Update drive frequency value in platform for specific qubit.""" if isinstance(amp, Iterable): amp = amp[0] - platform.qubits[qubit].native_gates.RX.amplitude = float(amp) + # platform.natives.single_qubit[qubit].RX.amplitude = float(amp) def drive_duration( @@ -66,7 +66,7 @@ def drive_duration( """Update drive duration value in platform for specific qubit.""" if isinstance(duration, Iterable): duration = duration[0] - platform.qubits[qubit].native_gates.RX.duration = int(duration) + # platform.natives.single_qubit[qubit].RX.duration = int(duration) def crosstalk_matrix( From bb311861bfab34317c90dcb695dd7aa1317f197a Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 20 Aug 2024 21:59:08 +0400 Subject: [PATCH 12/38] chore: update with new acquisition format --- src/qibocal/protocols/classification.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 744cefb95..d5d1978d3 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -194,7 +194,7 @@ def _acquisition( qubit = platform.qubits[q] sequence.append((qubit.probe.name, Delay(duration=rx_sequence.duration))) sequence.extend(ro_sequence) - ro_pulses[q] = ro_sequence[0][1].id + ro_pulses[q] = ro_sequence[1][1].id sequences.append(sequence) all_ro_pulses.append(ro_pulses) @@ -202,7 +202,7 @@ def _acquisition( data = SingleShotClassificationData( nshots=params.nshots, qubit_frequencies={ - qubit: platform.config(platform.qubits[qubit].drive.name).frequency + qubit: platform.config(str(platform.qubits[qubit].drive.name)).frequency for qubit in targets }, classifiers_list=params.classifiers_list, From b4233279868ed86cb03bc370df66c2b502d7c360 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Thu, 22 Aug 2024 22:07:03 +0400 Subject: [PATCH 13/38] chore: implement duration interpolated sweeper --- src/qibocal/protocols/rabi/length.py | 24 +++++++++++++++------ src/qibocal/protocols/rabi/length_signal.py | 8 ++++++- src/qibocal/protocols/rabi/utils.py | 13 +++++++---- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index 5dc2a7b86..bb5f6ec5c 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -33,6 +33,8 @@ class RabiLengthParameters(Parameters): """Step pi pulse duration [ns].""" pulse_amplitude: Optional[float] = None """Pi pulse amplitude. Same for all qubits.""" + interpolated_sweeper: bool = False + """Use real-time interpolation if supported by instruments.""" @dataclass @@ -66,7 +68,7 @@ def _acquisition( """ sequence, qd_pulses, delays, ro_pulses, amplitudes = utils.sequence_length( - targets, params, platform + targets, params, platform, use_align=params.interpolated_sweeper ) # define the parameter to sweep and its range: # qubit drive pulse duration time @@ -76,12 +78,20 @@ def _acquisition( params.pulse_duration_step, ) - sweeper = Sweeper( - Parameter.duration, - qd_pulse_duration_range, - [qd_pulses[q] for q in targets] + [delays[q] for q in targets], - type=SweeperType.ABSOLUTE, - ) + if params.interpolated_sweeper: + sweeper = Sweeper( + Parameter.duration_interpolated, + qd_pulse_duration_range, + [qd_pulses[q] for q in targets], + type=SweeperType.ABSOLUTE, + ) + else: + sweeper = Sweeper( + Parameter.duration, + qd_pulse_duration_range, + [qd_pulses[q] for q in targets] + [delays[q] for q in targets], + type=SweeperType.ABSOLUTE, + ) data = RabiLengthData(amplitudes=amplitudes) diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index 852169bed..59146b38d 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -29,6 +29,8 @@ class RabiLengthSignalParameters(Parameters): """Step pi pulse duration [ns].""" pulse_amplitude: Optional[float] = None """Pi pulse amplitude. Same for all qubits.""" + interpolated_sweeper: bool = False + """Use real-time interpolation if supported by instruments.""" @dataclass @@ -81,7 +83,11 @@ def _acquisition( ) sweeper = Sweeper( - Parameter.duration, + ( + Parameter.duration_interpolated + if params.interpolated_sweeper + else Parameter.duration + ), qd_pulse_duration_range, [qd_pulses[q] for q in targets] + [delays[q] for q in targets], type=SweeperType.ABSOLUTE, diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index 3dbdb018d..f58296dd2 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -252,7 +252,10 @@ def sequence_amplitude( def sequence_length( - targets: list[QubitId], params: Parameters, platform: Platform + targets: list[QubitId], + params: Parameters, + platform: Platform, + use_align: bool = False, ) -> tuple[PulseSequence, dict, dict, dict]: """Return sequence for rabi length.""" sequence = PulseSequence() @@ -270,12 +273,14 @@ def sequence_length( qd_pulses[q].amplitude = params.pulse_amplitude amplitudes[q] = qd_pulses[q].amplitude - delays[q] = Delay(duration=16) ro_pulses[q] = ro_sequence[0][1] - qubit = platform.qubits[q] sequence.append((qubit.drive.name, qd_pulses[q])) - sequence.append((qubit.probe.name, delays[q])) + if use_align: + sequence.align([qubit.drive.name, qubit.probe.name]) + else: + delays[q] = Delay(duration=16) + sequence.append((qubit.probe.name, delays[q])) sequence.append((qubit.probe.name, ro_pulses[q])) return sequence, qd_pulses, delays, ro_pulses, amplitudes From 367070bc5c33e22b1208d28de45f445f44711cb1 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Thu, 22 Aug 2024 22:27:30 +0400 Subject: [PATCH 14/38] chore: update Rabi routines for acquisition --- src/qibocal/protocols/rabi/utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index f58296dd2..795c2d01c 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -242,12 +242,12 @@ def sequence_amplitude( qd_pulses[q].duration = params.pulse_length durations[q] = qd_pulses[q].duration - ro_pulses[q] = ro_sequence[0][1] + ro_pulses[q] = ro_sequence[1][1] qubit = platform.qubits[q] sequence.append((qubit.drive.name, qd_pulses[q])) sequence.append((qubit.probe.name, Delay(duration=durations[q]))) - sequence.append((qubit.probe.name, ro_pulses[q])) + sequence.extend(ro_sequence) return sequence, qd_pulses, ro_pulses, durations @@ -273,7 +273,7 @@ def sequence_length( qd_pulses[q].amplitude = params.pulse_amplitude amplitudes[q] = qd_pulses[q].amplitude - ro_pulses[q] = ro_sequence[0][1] + ro_pulses[q] = ro_sequence[1][1] qubit = platform.qubits[q] sequence.append((qubit.drive.name, qd_pulses[q])) if use_align: @@ -281,7 +281,7 @@ def sequence_length( else: delays[q] = Delay(duration=16) sequence.append((qubit.probe.name, delays[q])) - sequence.append((qubit.probe.name, ro_pulses[q])) + sequence.extend(ro_sequence) return sequence, qd_pulses, delays, ro_pulses, amplitudes From cf2245136f820e85ea8c14ecf2fd9b422001623b Mon Sep 17 00:00:00 2001 From: Alessandro Candido Date: Sun, 25 Aug 2024 11:37:45 +0200 Subject: [PATCH 15/38] build: Update qibolab version with git dependency --- poetry.lock | 542 +++++++++++++++++++++++++------------------------ pyproject.toml | 2 +- 2 files changed, 280 insertions(+), 264 deletions(-) diff --git a/poetry.lock b/poetry.lock index deb03225e..111af1183 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "alabaster" @@ -864,13 +864,13 @@ lxml = ["lxml"] [[package]] name = "huggingface-hub" -version = "0.24.5" +version = "0.24.6" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" optional = false python-versions = ">=3.8.0" files = [ - {file = "huggingface_hub-0.24.5-py3-none-any.whl", hash = "sha256:d93fb63b1f1a919a22ce91a14518974e81fc4610bf344dfe7572343ce8d3aced"}, - {file = "huggingface_hub-0.24.5.tar.gz", hash = "sha256:7b45d6744dd53ce9cbf9880957de00e9d10a9ae837f1c9b7255fc8fa4e8264f3"}, + {file = "huggingface_hub-0.24.6-py3-none-any.whl", hash = "sha256:a990f3232aa985fe749bc9474060cbad75e8b2f115f6665a9fda5b9c97818970"}, + {file = "huggingface_hub-0.24.6.tar.gz", hash = "sha256:cc2579e761d070713eaa9c323e3debe39d5b464ae3a7261c39a9195b27bb8000"}, ] [package.dependencies] @@ -939,13 +939,13 @@ sparktrials = ["pyspark"] [[package]] name = "idna" -version = "3.7" +version = "3.8" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, + {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, + {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, ] [[package]] @@ -961,13 +961,13 @@ files = [ [[package]] name = "importlib-metadata" -version = "8.2.0" +version = "8.4.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-8.2.0-py3-none-any.whl", hash = "sha256:11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369"}, - {file = "importlib_metadata-8.2.0.tar.gz", hash = "sha256:72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d"}, + {file = "importlib_metadata-8.4.0-py3-none-any.whl", hash = "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1"}, + {file = "importlib_metadata-8.4.0.tar.gz", hash = "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5"}, ] [package.dependencies] @@ -980,21 +980,25 @@ test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "p [[package]] name = "importlib-resources" -version = "6.4.0" +version = "6.4.4" description = "Read resources from Python packages" optional = true python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, - {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, + {file = "importlib_resources-6.4.4-py3-none-any.whl", hash = "sha256:dda242603d1c9cd836c3368b1174ed74cb4049ecd209e7a1a0104620c18c5c11"}, + {file = "importlib_resources-6.4.4.tar.gz", hash = "sha256:20600c8b7361938dc0bb2d5ec0297802e575df486f5a544fa414da65e13721f7"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] +type = ["pytest-mypy"] [[package]] name = "iniconfig" @@ -1288,153 +1292,149 @@ files = [ [[package]] name = "lxml" -version = "5.2.2" +version = "5.3.0" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." optional = false python-versions = ">=3.6" files = [ - {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:364d03207f3e603922d0d3932ef363d55bbf48e3647395765f9bfcbdf6d23632"}, - {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:50127c186f191b8917ea2fb8b206fbebe87fd414a6084d15568c27d0a21d60db"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74e4f025ef3db1c6da4460dd27c118d8cd136d0391da4e387a15e48e5c975147"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981a06a3076997adf7c743dcd0d7a0415582661e2517c7d961493572e909aa1d"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aef5474d913d3b05e613906ba4090433c515e13ea49c837aca18bde190853dff"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e275ea572389e41e8b039ac076a46cb87ee6b8542df3fff26f5baab43713bca"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5b65529bb2f21ac7861a0e94fdbf5dc0daab41497d18223b46ee8515e5ad297"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bcc98f911f10278d1daf14b87d65325851a1d29153caaf146877ec37031d5f36"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:b47633251727c8fe279f34025844b3b3a3e40cd1b198356d003aa146258d13a2"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:fbc9d316552f9ef7bba39f4edfad4a734d3d6f93341232a9dddadec4f15d425f"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:13e69be35391ce72712184f69000cda04fc89689429179bc4c0ae5f0b7a8c21b"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b6a30a9ab040b3f545b697cb3adbf3696c05a3a68aad172e3fd7ca73ab3c835"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a233bb68625a85126ac9f1fc66d24337d6e8a0f9207b688eec2e7c880f012ec0"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:dfa7c241073d8f2b8e8dbc7803c434f57dbb83ae2a3d7892dd068d99e96efe2c"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1a7aca7964ac4bb07680d5c9d63b9d7028cace3e2d43175cb50bba8c5ad33316"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ae4073a60ab98529ab8a72ebf429f2a8cc612619a8c04e08bed27450d52103c0"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ffb2be176fed4457e445fe540617f0252a72a8bc56208fd65a690fdb1f57660b"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e290d79a4107d7d794634ce3e985b9ae4f920380a813717adf61804904dc4393"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:96e85aa09274955bb6bd483eaf5b12abadade01010478154b0ec70284c1b1526"}, - {file = "lxml-5.2.2-cp310-cp310-win32.whl", hash = "sha256:f956196ef61369f1685d14dad80611488d8dc1ef00be57c0c5a03064005b0f30"}, - {file = "lxml-5.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:875a3f90d7eb5c5d77e529080d95140eacb3c6d13ad5b616ee8095447b1d22e7"}, - {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45f9494613160d0405682f9eee781c7e6d1bf45f819654eb249f8f46a2c22545"}, - {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0b3f2df149efb242cee2ffdeb6674b7f30d23c9a7af26595099afaf46ef4e88"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d28cb356f119a437cc58a13f8135ab8a4c8ece18159eb9194b0d269ec4e28083"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:657a972f46bbefdbba2d4f14413c0d079f9ae243bd68193cb5061b9732fa54c1"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b9ea10063efb77a965a8d5f4182806fbf59ed068b3c3fd6f30d2ac7bee734"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:07542787f86112d46d07d4f3c4e7c760282011b354d012dc4141cc12a68cef5f"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:303f540ad2dddd35b92415b74b900c749ec2010e703ab3bfd6660979d01fd4ed"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2eb2227ce1ff998faf0cd7fe85bbf086aa41dfc5af3b1d80867ecfe75fb68df3"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:1d8a701774dfc42a2f0b8ccdfe7dbc140500d1049e0632a611985d943fcf12df"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:56793b7a1a091a7c286b5f4aa1fe4ae5d1446fe742d00cdf2ffb1077865db10d"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eb00b549b13bd6d884c863554566095bf6fa9c3cecb2e7b399c4bc7904cb33b5"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a2569a1f15ae6c8c64108a2cd2b4a858fc1e13d25846be0666fc144715e32ab"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:8cf85a6e40ff1f37fe0f25719aadf443686b1ac7652593dc53c7ef9b8492b115"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:d237ba6664b8e60fd90b8549a149a74fcc675272e0e95539a00522e4ca688b04"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0b3f5016e00ae7630a4b83d0868fca1e3d494c78a75b1c7252606a3a1c5fc2ad"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23441e2b5339bc54dc949e9e675fa35efe858108404ef9aa92f0456929ef6fe8"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2fb0ba3e8566548d6c8e7dd82a8229ff47bd8fb8c2da237607ac8e5a1b8312e5"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:79d1fb9252e7e2cfe4de6e9a6610c7cbb99b9708e2c3e29057f487de5a9eaefa"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6dcc3d17eac1df7859ae01202e9bb11ffa8c98949dcbeb1069c8b9a75917e01b"}, - {file = "lxml-5.2.2-cp311-cp311-win32.whl", hash = "sha256:4c30a2f83677876465f44c018830f608fa3c6a8a466eb223535035fbc16f3438"}, - {file = "lxml-5.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:49095a38eb333aaf44c06052fd2ec3b8f23e19747ca7ec6f6c954ffea6dbf7be"}, - {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7429e7faa1a60cad26ae4227f4dd0459efde239e494c7312624ce228e04f6391"}, - {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:50ccb5d355961c0f12f6cf24b7187dbabd5433f29e15147a67995474f27d1776"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc911208b18842a3a57266d8e51fc3cfaccee90a5351b92079beed912a7914c2"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33ce9e786753743159799fdf8e92a5da351158c4bfb6f2db0bf31e7892a1feb5"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec87c44f619380878bd49ca109669c9f221d9ae6883a5bcb3616785fa8f94c97"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08ea0f606808354eb8f2dfaac095963cb25d9d28e27edcc375d7b30ab01abbf6"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75a9632f1d4f698b2e6e2e1ada40e71f369b15d69baddb8968dcc8e683839b18"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74da9f97daec6928567b48c90ea2c82a106b2d500f397eeb8941e47d30b1ca85"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:0969e92af09c5687d769731e3f39ed62427cc72176cebb54b7a9d52cc4fa3b73"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:9164361769b6ca7769079f4d426a41df6164879f7f3568be9086e15baca61466"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d26a618ae1766279f2660aca0081b2220aca6bd1aa06b2cf73f07383faf48927"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab67ed772c584b7ef2379797bf14b82df9aa5f7438c5b9a09624dd834c1c1aaf"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3d1e35572a56941b32c239774d7e9ad724074d37f90c7a7d499ab98761bd80cf"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:8268cbcd48c5375f46e000adb1390572c98879eb4f77910c6053d25cc3ac2c67"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e282aedd63c639c07c3857097fc0e236f984ceb4089a8b284da1c526491e3f3d"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfdc2bfe69e9adf0df4915949c22a25b39d175d599bf98e7ddf620a13678585"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4aefd911793b5d2d7a921233a54c90329bf3d4a6817dc465f12ffdfe4fc7b8fe"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8b8df03a9e995b6211dafa63b32f9d405881518ff1ddd775db4e7b98fb545e1c"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f11ae142f3a322d44513de1018b50f474f8f736bc3cd91d969f464b5bfef8836"}, - {file = "lxml-5.2.2-cp312-cp312-win32.whl", hash = "sha256:16a8326e51fcdffc886294c1e70b11ddccec836516a343f9ed0f82aac043c24a"}, - {file = "lxml-5.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:bbc4b80af581e18568ff07f6395c02114d05f4865c2812a1f02f2eaecf0bfd48"}, - {file = "lxml-5.2.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e3d9d13603410b72787579769469af730c38f2f25505573a5888a94b62b920f8"}, - {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38b67afb0a06b8575948641c1d6d68e41b83a3abeae2ca9eed2ac59892b36706"}, - {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c689d0d5381f56de7bd6966a4541bff6e08bf8d3871bbd89a0c6ab18aa699573"}, - {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:cf2a978c795b54c539f47964ec05e35c05bd045db5ca1e8366988c7f2fe6b3ce"}, - {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:739e36ef7412b2bd940f75b278749106e6d025e40027c0b94a17ef7968d55d56"}, - {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d8bbcd21769594dbba9c37d3c819e2d5847656ca99c747ddb31ac1701d0c0ed9"}, - {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:2304d3c93f2258ccf2cf7a6ba8c761d76ef84948d87bf9664e14d203da2cd264"}, - {file = "lxml-5.2.2-cp36-cp36m-win32.whl", hash = "sha256:02437fb7308386867c8b7b0e5bc4cd4b04548b1c5d089ffb8e7b31009b961dc3"}, - {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, - {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, - {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, - {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, - {file = "lxml-5.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7ed07b3062b055d7a7f9d6557a251cc655eed0b3152b76de619516621c56f5d3"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f60fdd125d85bf9c279ffb8e94c78c51b3b6a37711464e1f5f31078b45002421"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7e24cb69ee5f32e003f50e016d5fde438010c1022c96738b04fc2423e61706"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23cfafd56887eaed93d07bc4547abd5e09d837a002b791e9767765492a75883f"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:19b4e485cd07b7d83e3fe3b72132e7df70bfac22b14fe4bf7a23822c3a35bff5"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7ce7ad8abebe737ad6143d9d3bf94b88b93365ea30a5b81f6877ec9c0dee0a48"}, - {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e49b052b768bb74f58c7dda4e0bdf7b79d43a9204ca584ffe1fb48a6f3c84c66"}, - {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d14a0d029a4e176795cef99c056d58067c06195e0c7e2dbb293bf95c08f772a3"}, - {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:be49ad33819d7dcc28a309b86d4ed98e1a65f3075c6acd3cd4fe32103235222b"}, - {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a6d17e0370d2516d5bb9062c7b4cb731cff921fc875644c3d751ad857ba9c5b1"}, - {file = "lxml-5.2.2-cp38-cp38-win32.whl", hash = "sha256:5b8c041b6265e08eac8a724b74b655404070b636a8dd6d7a13c3adc07882ef30"}, - {file = "lxml-5.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:f61efaf4bed1cc0860e567d2ecb2363974d414f7f1f124b1df368bbf183453a6"}, - {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fb91819461b1b56d06fa4bcf86617fac795f6a99d12239fb0c68dbeba41a0a30"}, - {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d4ed0c7cbecde7194cd3228c044e86bf73e30a23505af852857c09c24e77ec5d"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54401c77a63cc7d6dc4b4e173bb484f28a5607f3df71484709fe037c92d4f0ed"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:625e3ef310e7fa3a761d48ca7ea1f9d8718a32b1542e727d584d82f4453d5eeb"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:519895c99c815a1a24a926d5b60627ce5ea48e9f639a5cd328bda0515ea0f10c"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c7079d5eb1c1315a858bbf180000757db8ad904a89476653232db835c3114001"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:343ab62e9ca78094f2306aefed67dcfad61c4683f87eee48ff2fd74902447726"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:cd9e78285da6c9ba2d5c769628f43ef66d96ac3085e59b10ad4f3707980710d3"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:546cf886f6242dff9ec206331209db9c8e1643ae642dea5fdbecae2453cb50fd"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:02f6a8eb6512fdc2fd4ca10a49c341c4e109aa6e9448cc4859af5b949622715a"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:339ee4a4704bc724757cd5dd9dc8cf4d00980f5d3e6e06d5847c1b594ace68ab"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0a028b61a2e357ace98b1615fc03f76eb517cc028993964fe08ad514b1e8892d"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f90e552ecbad426eab352e7b2933091f2be77115bb16f09f78404861c8322981"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d83e2d94b69bf31ead2fa45f0acdef0757fa0458a129734f59f67f3d2eb7ef32"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a02d3c48f9bb1e10c7788d92c0c7db6f2002d024ab6e74d6f45ae33e3d0288a3"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6d68ce8e7b2075390e8ac1e1d3a99e8b6372c694bbe612632606d1d546794207"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:453d037e09a5176d92ec0fd282e934ed26d806331a8b70ab431a81e2fbabf56d"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:3b019d4ee84b683342af793b56bb35034bd749e4cbdd3d33f7d1107790f8c472"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb3942960f0beb9f46e2a71a3aca220d1ca32feb5a398656be934320804c0df9"}, - {file = "lxml-5.2.2-cp39-cp39-win32.whl", hash = "sha256:ac6540c9fff6e3813d29d0403ee7a81897f1d8ecc09a8ff84d2eea70ede1cdbf"}, - {file = "lxml-5.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:610b5c77428a50269f38a534057444c249976433f40f53e3b47e68349cca1425"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b537bd04d7ccd7c6350cdaaaad911f6312cbd61e6e6045542f781c7f8b2e99d2"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4820c02195d6dfb7b8508ff276752f6b2ff8b64ae5d13ebe02e7667e035000b9"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a09f6184f17a80897172863a655467da2b11151ec98ba8d7af89f17bf63dae"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:76acba4c66c47d27c8365e7c10b3d8016a7da83d3191d053a58382311a8bf4e1"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b128092c927eaf485928cec0c28f6b8bead277e28acf56800e972aa2c2abd7a2"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ae791f6bd43305aade8c0e22f816b34f3b72b6c820477aab4d18473a37e8090b"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a2f6a1bc2460e643785a2cde17293bd7a8f990884b822f7bca47bee0a82fc66b"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e8d351ff44c1638cb6e980623d517abd9f580d2e53bfcd18d8941c052a5a009"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bec4bd9133420c5c52d562469c754f27c5c9e36ee06abc169612c959bd7dbb07"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:55ce6b6d803890bd3cc89975fca9de1dff39729b43b73cb15ddd933b8bc20484"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ab6a358d1286498d80fe67bd3d69fcbc7d1359b45b41e74c4a26964ca99c3f8"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:06668e39e1f3c065349c51ac27ae430719d7806c026fec462e5693b08b95696b"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9cd5323344d8ebb9fb5e96da5de5ad4ebab993bbf51674259dbe9d7a18049525"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89feb82ca055af0fe797a2323ec9043b26bc371365847dbe83c7fd2e2f181c34"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e481bba1e11ba585fb06db666bfc23dbe181dbafc7b25776156120bf12e0d5a6"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d6c6ea6a11ca0ff9cd0390b885984ed31157c168565702959c25e2191674a14"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3d98de734abee23e61f6b8c2e08a88453ada7d6486dc7cdc82922a03968928db"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:69ab77a1373f1e7563e0fb5a29a8440367dec051da6c7405333699d07444f511"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:34e17913c431f5ae01d8658dbf792fdc457073dcdfbb31dc0cc6ab256e664a8d"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05f8757b03208c3f50097761be2dea0aba02e94f0dc7023ed73a7bb14ff11eb0"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a520b4f9974b0a0a6ed73c2154de57cdfd0c8800f4f15ab2b73238ffed0b36e"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5e097646944b66207023bc3c634827de858aebc226d5d4d6d16f0b77566ea182"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b5e4ef22ff25bfd4ede5f8fb30f7b24446345f3e79d9b7455aef2836437bc38a"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ff69a9a0b4b17d78170c73abe2ab12084bdf1691550c5629ad1fe7849433f324"}, - {file = "lxml-5.2.2.tar.gz", hash = "sha256:bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87"}, + {file = "lxml-5.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:dd36439be765e2dde7660212b5275641edbc813e7b24668831a5c8ac91180656"}, + {file = "lxml-5.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ae5fe5c4b525aa82b8076c1a59d642c17b6e8739ecf852522c6321852178119d"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:501d0d7e26b4d261fca8132854d845e4988097611ba2531408ec91cf3fd9d20a"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb66442c2546446944437df74379e9cf9e9db353e61301d1a0e26482f43f0dd8"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e41506fec7a7f9405b14aa2d5c8abbb4dbbd09d88f9496958b6d00cb4d45330"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f7d4a670107d75dfe5ad080bed6c341d18c4442f9378c9f58e5851e86eb79965"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41ce1f1e2c7755abfc7e759dc34d7d05fd221723ff822947132dc934d122fe22"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:44264ecae91b30e5633013fb66f6ddd05c006d3e0e884f75ce0b4755b3e3847b"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:3c174dc350d3ec52deb77f2faf05c439331d6ed5e702fc247ccb4e6b62d884b7"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:2dfab5fa6a28a0b60a20638dc48e6343c02ea9933e3279ccb132f555a62323d8"}, + {file = "lxml-5.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b1c8c20847b9f34e98080da785bb2336ea982e7f913eed5809e5a3c872900f32"}, + {file = "lxml-5.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2c86bf781b12ba417f64f3422cfc302523ac9cd1d8ae8c0f92a1c66e56ef2e86"}, + {file = "lxml-5.3.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c162b216070f280fa7da844531169be0baf9ccb17263cf5a8bf876fcd3117fa5"}, + {file = "lxml-5.3.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:36aef61a1678cb778097b4a6eeae96a69875d51d1e8f4d4b491ab3cfb54b5a03"}, + {file = "lxml-5.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f65e5120863c2b266dbcc927b306c5b78e502c71edf3295dfcb9501ec96e5fc7"}, + {file = "lxml-5.3.0-cp310-cp310-win32.whl", hash = "sha256:ef0c1fe22171dd7c7c27147f2e9c3e86f8bdf473fed75f16b0c2e84a5030ce80"}, + {file = "lxml-5.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:052d99051e77a4f3e8482c65014cf6372e61b0a6f4fe9edb98503bb5364cfee3"}, + {file = "lxml-5.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74bcb423462233bc5d6066e4e98b0264e7c1bed7541fff2f4e34fe6b21563c8b"}, + {file = "lxml-5.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a3d819eb6f9b8677f57f9664265d0a10dd6551d227afb4af2b9cd7bdc2ccbf18"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b8f5db71b28b8c404956ddf79575ea77aa8b1538e8b2ef9ec877945b3f46442"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3406b63232fc7e9b8783ab0b765d7c59e7c59ff96759d8ef9632fca27c7ee4"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ecdd78ab768f844c7a1d4a03595038c166b609f6395e25af9b0f3f26ae1230f"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168f2dfcfdedf611eb285efac1516c8454c8c99caf271dccda8943576b67552e"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa617107a410245b8660028a7483b68e7914304a6d4882b5ff3d2d3eb5948d8c"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:69959bd3167b993e6e710b99051265654133a98f20cec1d9b493b931942e9c16"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:bd96517ef76c8654446fc3db9242d019a1bb5fe8b751ba414765d59f99210b79"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:ab6dd83b970dc97c2d10bc71aa925b84788c7c05de30241b9e96f9b6d9ea3080"}, + {file = "lxml-5.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eec1bb8cdbba2925bedc887bc0609a80e599c75b12d87ae42ac23fd199445654"}, + {file = "lxml-5.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a7095eeec6f89111d03dabfe5883a1fd54da319c94e0fb104ee8f23616b572d"}, + {file = "lxml-5.3.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6f651ebd0b21ec65dfca93aa629610a0dbc13dbc13554f19b0113da2e61a4763"}, + {file = "lxml-5.3.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f422a209d2455c56849442ae42f25dbaaba1c6c3f501d58761c619c7836642ec"}, + {file = "lxml-5.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:62f7fdb0d1ed2065451f086519865b4c90aa19aed51081979ecd05a21eb4d1be"}, + {file = "lxml-5.3.0-cp311-cp311-win32.whl", hash = "sha256:c6379f35350b655fd817cd0d6cbeef7f265f3ae5fedb1caae2eb442bbeae9ab9"}, + {file = "lxml-5.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c52100e2c2dbb0649b90467935c4b0de5528833c76a35ea1a2691ec9f1ee7a1"}, + {file = "lxml-5.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:e99f5507401436fdcc85036a2e7dc2e28d962550afe1cbfc07c40e454256a859"}, + {file = "lxml-5.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:384aacddf2e5813a36495233b64cb96b1949da72bef933918ba5c84e06af8f0e"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:874a216bf6afaf97c263b56371434e47e2c652d215788396f60477540298218f"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65ab5685d56914b9a2a34d67dd5488b83213d680b0c5d10b47f81da5a16b0b0e"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aac0bbd3e8dd2d9c45ceb82249e8bdd3ac99131a32b4d35c8af3cc9db1657179"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b369d3db3c22ed14c75ccd5af429086f166a19627e84a8fdade3f8f31426e52a"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c24037349665434f375645fa9d1f5304800cec574d0310f618490c871fd902b3"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:62d172f358f33a26d6b41b28c170c63886742f5b6772a42b59b4f0fa10526cb1"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:c1f794c02903c2824fccce5b20c339a1a14b114e83b306ff11b597c5f71a1c8d"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:5d6a6972b93c426ace71e0be9a6f4b2cfae9b1baed2eed2006076a746692288c"}, + {file = "lxml-5.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3879cc6ce938ff4eb4900d901ed63555c778731a96365e53fadb36437a131a99"}, + {file = "lxml-5.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:74068c601baff6ff021c70f0935b0c7bc528baa8ea210c202e03757c68c5a4ff"}, + {file = "lxml-5.3.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ecd4ad8453ac17bc7ba3868371bffb46f628161ad0eefbd0a855d2c8c32dd81a"}, + {file = "lxml-5.3.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7e2f58095acc211eb9d8b5771bf04df9ff37d6b87618d1cbf85f92399c98dae8"}, + {file = "lxml-5.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e63601ad5cd8f860aa99d109889b5ac34de571c7ee902d6812d5d9ddcc77fa7d"}, + {file = "lxml-5.3.0-cp312-cp312-win32.whl", hash = "sha256:17e8d968d04a37c50ad9c456a286b525d78c4a1c15dd53aa46c1d8e06bf6fa30"}, + {file = "lxml-5.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:c1a69e58a6bb2de65902051d57fde951febad631a20a64572677a1052690482f"}, + {file = "lxml-5.3.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8c72e9563347c7395910de6a3100a4840a75a6f60e05af5e58566868d5eb2d6a"}, + {file = "lxml-5.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e92ce66cd919d18d14b3856906a61d3f6b6a8500e0794142338da644260595cd"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d04f064bebdfef9240478f7a779e8c5dc32b8b7b0b2fc6a62e39b928d428e51"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c2fb570d7823c2bbaf8b419ba6e5662137f8166e364a8b2b91051a1fb40ab8b"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c120f43553ec759f8de1fee2f4794452b0946773299d44c36bfe18e83caf002"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:562e7494778a69086f0312ec9689f6b6ac1c6b65670ed7d0267e49f57ffa08c4"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:423b121f7e6fa514ba0c7918e56955a1d4470ed35faa03e3d9f0e3baa4c7e492"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:c00f323cc00576df6165cc9d21a4c21285fa6b9989c5c39830c3903dc4303ef3"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:1fdc9fae8dd4c763e8a31e7630afef517eab9f5d5d31a278df087f307bf601f4"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:658f2aa69d31e09699705949b5fc4719cbecbd4a97f9656a232e7d6c7be1a367"}, + {file = "lxml-5.3.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1473427aff3d66a3fa2199004c3e601e6c4500ab86696edffdbc84954c72d832"}, + {file = "lxml-5.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a87de7dd873bf9a792bf1e58b1c3887b9264036629a5bf2d2e6579fe8e73edff"}, + {file = "lxml-5.3.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:0d7b36afa46c97875303a94e8f3ad932bf78bace9e18e603f2085b652422edcd"}, + {file = "lxml-5.3.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:cf120cce539453ae086eacc0130a324e7026113510efa83ab42ef3fcfccac7fb"}, + {file = "lxml-5.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:df5c7333167b9674aa8ae1d4008fa4bc17a313cc490b2cca27838bbdcc6bb15b"}, + {file = "lxml-5.3.0-cp313-cp313-win32.whl", hash = "sha256:c802e1c2ed9f0c06a65bc4ed0189d000ada8049312cfeab6ca635e39c9608957"}, + {file = "lxml-5.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:406246b96d552e0503e17a1006fd27edac678b3fcc9f1be71a2f94b4ff61528d"}, + {file = "lxml-5.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8f0de2d390af441fe8b2c12626d103540b5d850d585b18fcada58d972b74a74e"}, + {file = "lxml-5.3.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1afe0a8c353746e610bd9031a630a95bcfb1a720684c3f2b36c4710a0a96528f"}, + {file = "lxml-5.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56b9861a71575f5795bde89256e7467ece3d339c9b43141dbdd54544566b3b94"}, + {file = "lxml-5.3.0-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:9fb81d2824dff4f2e297a276297e9031f46d2682cafc484f49de182aa5e5df99"}, + {file = "lxml-5.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2c226a06ecb8cdef28845ae976da407917542c5e6e75dcac7cc33eb04aaeb237"}, + {file = "lxml-5.3.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:7d3d1ca42870cdb6d0d29939630dbe48fa511c203724820fc0fd507b2fb46577"}, + {file = "lxml-5.3.0-cp36-cp36m-win32.whl", hash = "sha256:094cb601ba9f55296774c2d57ad68730daa0b13dc260e1f941b4d13678239e70"}, + {file = "lxml-5.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:eafa2c8658f4e560b098fe9fc54539f86528651f61849b22111a9b107d18910c"}, + {file = "lxml-5.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cb83f8a875b3d9b458cada4f880fa498646874ba4011dc974e071a0a84a1b033"}, + {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25f1b69d41656b05885aa185f5fdf822cb01a586d1b32739633679699f220391"}, + {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23e0553b8055600b3bf4a00b255ec5c92e1e4aebf8c2c09334f8368e8bd174d6"}, + {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ada35dd21dc6c039259596b358caab6b13f4db4d4a7f8665764d616daf9cc1d"}, + {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:81b4e48da4c69313192d8c8d4311e5d818b8be1afe68ee20f6385d0e96fc9512"}, + {file = "lxml-5.3.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:2bc9fd5ca4729af796f9f59cd8ff160fe06a474da40aca03fcc79655ddee1a8b"}, + {file = "lxml-5.3.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:07da23d7ee08577760f0a71d67a861019103e4812c87e2fab26b039054594cc5"}, + {file = "lxml-5.3.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:ea2e2f6f801696ad7de8aec061044d6c8c0dd4037608c7cab38a9a4d316bfb11"}, + {file = "lxml-5.3.0-cp37-cp37m-win32.whl", hash = "sha256:5c54afdcbb0182d06836cc3d1be921e540be3ebdf8b8a51ee3ef987537455f84"}, + {file = "lxml-5.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:f2901429da1e645ce548bf9171784c0f74f0718c3f6150ce166be39e4dd66c3e"}, + {file = "lxml-5.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c56a1d43b2f9ee4786e4658c7903f05da35b923fb53c11025712562d5cc02753"}, + {file = "lxml-5.3.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ee8c39582d2652dcd516d1b879451500f8db3fe3607ce45d7c5957ab2596040"}, + {file = "lxml-5.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdf3a3059611f7585a78ee10399a15566356116a4288380921a4b598d807a22"}, + {file = "lxml-5.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:146173654d79eb1fc97498b4280c1d3e1e5d58c398fa530905c9ea50ea849b22"}, + {file = "lxml-5.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0a7056921edbdd7560746f4221dca89bb7a3fe457d3d74267995253f46343f15"}, + {file = "lxml-5.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:9e4b47ac0f5e749cfc618efdf4726269441014ae1d5583e047b452a32e221920"}, + {file = "lxml-5.3.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f914c03e6a31deb632e2daa881fe198461f4d06e57ac3d0e05bbcab8eae01945"}, + {file = "lxml-5.3.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:213261f168c5e1d9b7535a67e68b1f59f92398dd17a56d934550837143f79c42"}, + {file = "lxml-5.3.0-cp38-cp38-win32.whl", hash = "sha256:218c1b2e17a710e363855594230f44060e2025b05c80d1f0661258142b2add2e"}, + {file = "lxml-5.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:315f9542011b2c4e1d280e4a20ddcca1761993dda3afc7a73b01235f8641e903"}, + {file = "lxml-5.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1ffc23010330c2ab67fac02781df60998ca8fe759e8efde6f8b756a20599c5de"}, + {file = "lxml-5.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2b3778cb38212f52fac9fe913017deea2fdf4eb1a4f8e4cfc6b009a13a6d3fcc"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b0c7a688944891086ba192e21c5229dea54382f4836a209ff8d0a660fac06be"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:747a3d3e98e24597981ca0be0fd922aebd471fa99d0043a3842d00cdcad7ad6a"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86a6b24b19eaebc448dc56b87c4865527855145d851f9fc3891673ff97950540"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b11a5d918a6216e521c715b02749240fb07ae5a1fefd4b7bf12f833bc8b4fe70"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68b87753c784d6acb8a25b05cb526c3406913c9d988d51f80adecc2b0775d6aa"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:109fa6fede314cc50eed29e6e56c540075e63d922455346f11e4d7a036d2b8cf"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:02ced472497b8362c8e902ade23e3300479f4f43e45f4105c85ef43b8db85229"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:6b038cc86b285e4f9fea2ba5ee76e89f21ed1ea898e287dc277a25884f3a7dfe"}, + {file = "lxml-5.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:7437237c6a66b7ca341e868cda48be24b8701862757426852c9b3186de1da8a2"}, + {file = "lxml-5.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7f41026c1d64043a36fda21d64c5026762d53a77043e73e94b71f0521939cc71"}, + {file = "lxml-5.3.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:482c2f67761868f0108b1743098640fbb2a28a8e15bf3f47ada9fa59d9fe08c3"}, + {file = "lxml-5.3.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:1483fd3358963cc5c1c9b122c80606a3a79ee0875bcac0204149fa09d6ff2727"}, + {file = "lxml-5.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2dec2d1130a9cda5b904696cec33b2cfb451304ba9081eeda7f90f724097300a"}, + {file = "lxml-5.3.0-cp39-cp39-win32.whl", hash = "sha256:a0eabd0a81625049c5df745209dc7fcef6e2aea7793e5f003ba363610aa0a3ff"}, + {file = "lxml-5.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:89e043f1d9d341c52bf2af6d02e6adde62e0a46e6755d5eb60dc6e4f0b8aeca2"}, + {file = "lxml-5.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7b1cd427cb0d5f7393c31b7496419da594fe600e6fdc4b105a54f82405e6626c"}, + {file = "lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51806cfe0279e06ed8500ce19479d757db42a30fd509940b1701be9c86a5ff9a"}, + {file = "lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee70d08fd60c9565ba8190f41a46a54096afa0eeb8f76bd66f2c25d3b1b83005"}, + {file = "lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:8dc2c0395bea8254d8daebc76dcf8eb3a95ec2a46fa6fae5eaccee366bfe02ce"}, + {file = "lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6ba0d3dcac281aad8a0e5b14c7ed6f9fa89c8612b47939fc94f80b16e2e9bc83"}, + {file = "lxml-5.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6e91cf736959057f7aac7adfc83481e03615a8e8dd5758aa1d95ea69e8931dba"}, + {file = "lxml-5.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:94d6c3782907b5e40e21cadf94b13b0842ac421192f26b84c45f13f3c9d5dc27"}, + {file = "lxml-5.3.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c300306673aa0f3ed5ed9372b21867690a17dba38c68c44b287437c362ce486b"}, + {file = "lxml-5.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d9b952e07aed35fe2e1a7ad26e929595412db48535921c5013edc8aa4a35ce"}, + {file = "lxml-5.3.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:01220dca0d066d1349bd6a1726856a78f7929f3878f7e2ee83c296c69495309e"}, + {file = "lxml-5.3.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:2d9b8d9177afaef80c53c0a9e30fa252ff3036fb1c6494d427c066a4ce6a282f"}, + {file = "lxml-5.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:20094fc3f21ea0a8669dc4c61ed7fa8263bd37d97d93b90f28fc613371e7a875"}, + {file = "lxml-5.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ace2c2326a319a0bb8a8b0e5b570c764962e95818de9f259ce814ee666603f19"}, + {file = "lxml-5.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92e67a0be1639c251d21e35fe74df6bcc40cba445c2cda7c4a967656733249e2"}, + {file = "lxml-5.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd5350b55f9fecddc51385463a4f67a5da829bc741e38cf689f38ec9023f54ab"}, + {file = "lxml-5.3.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c1fefd7e3d00921c44dc9ca80a775af49698bbfd92ea84498e56acffd4c5469"}, + {file = "lxml-5.3.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:71a8dd38fbd2f2319136d4ae855a7078c69c9a38ae06e0c17c73fd70fc6caad8"}, + {file = "lxml-5.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:97acf1e1fd66ab53dacd2c35b319d7e548380c2e9e8c54525c6e76d21b1ae3b1"}, + {file = "lxml-5.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:68934b242c51eb02907c5b81d138cb977b2129a0a75a8f8b60b01cb8586c7b21"}, + {file = "lxml-5.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b710bc2b8292966b23a6a0121f7a6c51d45d2347edcc75f016ac123b8054d3f2"}, + {file = "lxml-5.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18feb4b93302091b1541221196a2155aa296c363fd233814fa11e181adebc52f"}, + {file = "lxml-5.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:3eb44520c4724c2e1a57c0af33a379eee41792595023f367ba3952a2d96c2aab"}, + {file = "lxml-5.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:609251a0ca4770e5a8768ff902aa02bf636339c5a93f9349b48eb1f606f7f3e9"}, + {file = "lxml-5.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:516f491c834eb320d6c843156440fe7fc0d50b33e44387fcec5b02f0bc118a4c"}, + {file = "lxml-5.3.0.tar.gz", hash = "sha256:4e109ca30d1edec1ac60cdbe341905dc3b8f55b16855e03a54aaf59e51ec8c6f"}, ] [package.extras] @@ -1442,17 +1442,17 @@ cssselect = ["cssselect (>=0.7)"] html-clean = ["lxml-html-clean"] html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=3.0.10)"] +source = ["Cython (>=3.0.11)"] [[package]] name = "markdown" -version = "3.6" +version = "3.7" description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, - {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, ] [package.dependencies] @@ -1533,40 +1533,51 @@ files = [ [[package]] name = "matplotlib" -version = "3.9.1.post1" +version = "3.9.2" description = "Python plotting package" optional = true python-versions = ">=3.9" files = [ - {file = "matplotlib-3.9.1.post1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3779ad3e8b72df22b8a622c5796bbcfabfa0069b835412e3c1dec8ee3de92d0c"}, - {file = "matplotlib-3.9.1.post1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ec400340f8628e8e2260d679078d4e9b478699f386e5cc8094e80a1cb0039c7c"}, - {file = "matplotlib-3.9.1.post1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82c18791b8862ea095081f745b81f896b011c5a5091678fb33204fef641476af"}, - {file = "matplotlib-3.9.1.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:621a628389c09a6b9f609a238af8e66acecece1cfa12febc5fe4195114ba7446"}, - {file = "matplotlib-3.9.1.post1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9a54734ca761ebb27cd4f0b6c2ede696ab6861052d7d7e7b8f7a6782665115f5"}, - {file = "matplotlib-3.9.1.post1-cp310-cp310-win_amd64.whl", hash = "sha256:0721f93db92311bb514e446842e2b21c004541dcca0281afa495053e017c5458"}, - {file = "matplotlib-3.9.1.post1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b08b46058fe2a31ecb81ef6aa3611f41d871f6a8280e9057cb4016cb3d8e894a"}, - {file = "matplotlib-3.9.1.post1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:22b344e84fcc574f561b5731f89a7625db8ef80cdbb0026a8ea855a33e3429d1"}, - {file = "matplotlib-3.9.1.post1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b49fee26d64aefa9f061b575f0f7b5fc4663e51f87375c7239efa3d30d908fa"}, - {file = "matplotlib-3.9.1.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89eb7e89e2b57856533c5c98f018aa3254fa3789fcd86d5f80077b9034a54c9a"}, - {file = "matplotlib-3.9.1.post1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c06e742bade41fda6176d4c9c78c9ea016e176cd338e62a1686384cb1eb8de41"}, - {file = "matplotlib-3.9.1.post1-cp311-cp311-win_amd64.whl", hash = "sha256:c44edab5b849e0fc1f1c9d6e13eaa35ef65925f7be45be891d9784709ad95561"}, - {file = "matplotlib-3.9.1.post1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:bf28b09986aee06393e808e661c3466be9c21eff443c9bc881bce04bfbb0c500"}, - {file = "matplotlib-3.9.1.post1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:92aeb8c439d4831510d8b9d5e39f31c16c7f37873879767c26b147cef61e54cd"}, - {file = "matplotlib-3.9.1.post1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f15798b0691b45c80d3320358a88ce5a9d6f518b28575b3ea3ed31b4bd95d009"}, - {file = "matplotlib-3.9.1.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d59fc6096da7b9c1df275f9afc3fef5cbf634c21df9e5f844cba3dd8deb1847d"}, - {file = "matplotlib-3.9.1.post1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ab986817a32a70ce22302438691e7df4c6ee4a844d47289db9d583d873491e0b"}, - {file = "matplotlib-3.9.1.post1-cp312-cp312-win_amd64.whl", hash = "sha256:0d78e7d2d86c4472da105d39aba9b754ed3dfeaeaa4ac7206b82706e0a5362fa"}, - {file = "matplotlib-3.9.1.post1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bd07eba6431b4dc9253cce6374a28c415e1d3a7dc9f8aba028ea7592f06fe172"}, - {file = "matplotlib-3.9.1.post1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ca230cc4482010d646827bd2c6d140c98c361e769ae7d954ebf6fff2a226f5b1"}, - {file = "matplotlib-3.9.1.post1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ace27c0fdeded399cbc43f22ffa76e0f0752358f5b33106ec7197534df08725a"}, - {file = "matplotlib-3.9.1.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a4f3aeb7ba14c497dc6f021a076c48c2e5fbdf3da1e7264a5d649683e284a2f"}, - {file = "matplotlib-3.9.1.post1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:23f96fbd4ff4cfa9b8a6b685a65e7eb3c2ced724a8d965995ec5c9c2b1f7daf5"}, - {file = "matplotlib-3.9.1.post1-cp39-cp39-win_amd64.whl", hash = "sha256:2808b95452b4ffa14bfb7c7edffc5350743c31bda495f0d63d10fdd9bc69e895"}, - {file = "matplotlib-3.9.1.post1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ffc91239f73b4179dec256b01299d46d0ffa9d27d98494bc1476a651b7821cbe"}, - {file = "matplotlib-3.9.1.post1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f965ebca9fd4feaaca45937c4849d92b70653057497181100fcd1e18161e5f29"}, - {file = "matplotlib-3.9.1.post1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801ee9323fd7b2da0d405aebbf98d1da77ea430bbbbbec6834c0b3af15e5db44"}, - {file = "matplotlib-3.9.1.post1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:50113e9b43ceb285739f35d43db36aa752fb8154325b35d134ff6e177452f9ec"}, - {file = "matplotlib-3.9.1.post1.tar.gz", hash = "sha256:c91e585c65092c975a44dc9d4239ba8c594ba3c193d7c478b6d178c4ef61f406"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, + {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, + {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, + {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, + {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, + {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, + {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, + {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, + {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, + {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, + {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, + {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, + {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, ] [package.dependencies] @@ -1772,42 +1783,42 @@ protobuf = "*" [[package]] name = "onnxruntime" -version = "1.18.1" +version = "1.19.0" description = "ONNX Runtime is a runtime accelerator for Machine Learning models" optional = true python-versions = "*" files = [ - {file = "onnxruntime-1.18.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:29ef7683312393d4ba04252f1b287d964bd67d5e6048b94d2da3643986c74d80"}, - {file = "onnxruntime-1.18.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fc706eb1df06ddf55776e15a30519fb15dda7697f987a2bbda4962845e3cec05"}, - {file = "onnxruntime-1.18.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7de69f5ced2a263531923fa68bbec52a56e793b802fcd81a03487b5e292bc3a"}, - {file = "onnxruntime-1.18.1-cp310-cp310-win32.whl", hash = "sha256:221e5b16173926e6c7de2cd437764492aa12b6811f45abd37024e7cf2ae5d7e3"}, - {file = "onnxruntime-1.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:75211b619275199c861ee94d317243b8a0fcde6032e5a80e1aa9ded8ab4c6060"}, - {file = "onnxruntime-1.18.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:f26582882f2dc581b809cfa41a125ba71ad9e715738ec6402418df356969774a"}, - {file = "onnxruntime-1.18.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef36f3a8b768506d02be349ac303fd95d92813ba3ba70304d40c3cd5c25d6a4c"}, - {file = "onnxruntime-1.18.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:170e711393e0618efa8ed27b59b9de0ee2383bd2a1f93622a97006a5ad48e434"}, - {file = "onnxruntime-1.18.1-cp311-cp311-win32.whl", hash = "sha256:9b6a33419b6949ea34e0dc009bc4470e550155b6da644571ecace4b198b0d88f"}, - {file = "onnxruntime-1.18.1-cp311-cp311-win_amd64.whl", hash = "sha256:5c1380a9f1b7788da742c759b6a02ba771fe1ce620519b2b07309decbd1a2fe1"}, - {file = "onnxruntime-1.18.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:31bd57a55e3f983b598675dfc7e5d6f0877b70ec9864b3cc3c3e1923d0a01919"}, - {file = "onnxruntime-1.18.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9e03c4ba9f734500691a4d7d5b381cd71ee2f3ce80a1154ac8f7aed99d1ecaa"}, - {file = "onnxruntime-1.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:781aa9873640f5df24524f96f6070b8c550c66cb6af35710fd9f92a20b4bfbf6"}, - {file = "onnxruntime-1.18.1-cp312-cp312-win32.whl", hash = "sha256:3a2d9ab6254ca62adbb448222e630dc6883210f718065063518c8f93a32432be"}, - {file = "onnxruntime-1.18.1-cp312-cp312-win_amd64.whl", hash = "sha256:ad93c560b1c38c27c0275ffd15cd7f45b3ad3fc96653c09ce2931179982ff204"}, - {file = "onnxruntime-1.18.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:3b55dc9d3c67626388958a3eb7ad87eb7c70f75cb0f7ff4908d27b8b42f2475c"}, - {file = "onnxruntime-1.18.1-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f80dbcfb6763cc0177a31168b29b4bd7662545b99a19e211de8c734b657e0669"}, - {file = "onnxruntime-1.18.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f1ff2c61a16d6c8631796c54139bafea41ee7736077a0fc64ee8ae59432f5c58"}, - {file = "onnxruntime-1.18.1-cp38-cp38-win32.whl", hash = "sha256:219855bd272fe0c667b850bf1a1a5a02499269a70d59c48e6f27f9c8bcb25d02"}, - {file = "onnxruntime-1.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:afdf16aa607eb9a2c60d5ca2d5abf9f448e90c345b6b94c3ed14f4fb7e6a2d07"}, - {file = "onnxruntime-1.18.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:128df253ade673e60cea0955ec9d0e89617443a6d9ce47c2d79eb3f72a3be3de"}, - {file = "onnxruntime-1.18.1-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9839491e77e5c5a175cab3621e184d5a88925ee297ff4c311b68897197f4cde9"}, - {file = "onnxruntime-1.18.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ad3187c1faff3ac15f7f0e7373ef4788c582cafa655a80fdbb33eaec88976c66"}, - {file = "onnxruntime-1.18.1-cp39-cp39-win32.whl", hash = "sha256:34657c78aa4e0b5145f9188b550ded3af626651b15017bf43d280d7e23dbf195"}, - {file = "onnxruntime-1.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:9c14fd97c3ddfa97da5feef595e2c73f14c2d0ec1d4ecbea99c8d96603c89589"}, + {file = "onnxruntime-1.19.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:6ce22a98dfec7b646ae305f52d0ce14a189a758b02ea501860ca719f4b0ae04b"}, + {file = "onnxruntime-1.19.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:19019c72873f26927aa322c54cf2bf7312b23451b27451f39b88f57016c94f8b"}, + {file = "onnxruntime-1.19.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8eaa16df99171dc636e30108d15597aed8c4c2dd9dbfdd07cc464d57d73fb275"}, + {file = "onnxruntime-1.19.0-cp310-cp310-win32.whl", hash = "sha256:0eb0f8dbe596fd0f4737fe511fdbb17603853a7d204c5b2ca38d3c7808fc556b"}, + {file = "onnxruntime-1.19.0-cp310-cp310-win_amd64.whl", hash = "sha256:616092d54ba8023b7bc0a5f6d900a07a37cc1cfcc631873c15f8c1d6e9e184d4"}, + {file = "onnxruntime-1.19.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:a2b53b3c287cd933e5eb597273926e899082d8c84ab96e1b34035764a1627e17"}, + {file = "onnxruntime-1.19.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e94984663963e74fbb468bde9ec6f19dcf890b594b35e249c4dc8789d08993c5"}, + {file = "onnxruntime-1.19.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f379d1f050cfb55ce015d53727b78ee362febc065c38eed81512b22b757da73"}, + {file = "onnxruntime-1.19.0-cp311-cp311-win32.whl", hash = "sha256:4ccb48faea02503275ae7e79e351434fc43c294c4cb5c4d8bcb7479061396614"}, + {file = "onnxruntime-1.19.0-cp311-cp311-win_amd64.whl", hash = "sha256:9cdc8d311289a84e77722de68bd22b8adfb94eea26f4be6f9e017350faac8b18"}, + {file = "onnxruntime-1.19.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:1b59eaec1be9a8613c5fdeaafe67f73a062edce3ac03bbbdc9e2d98b58a30617"}, + {file = "onnxruntime-1.19.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be4144d014a4b25184e63ce7a463a2e7796e2f3df931fccc6a6aefa6f1365dc5"}, + {file = "onnxruntime-1.19.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10d7e7d4ca7021ce7f29a66dbc6071addf2de5839135339bd855c6d9c2bba371"}, + {file = "onnxruntime-1.19.0-cp312-cp312-win32.whl", hash = "sha256:87f2c58b577a1fb31dc5d92b647ecc588fd5f1ea0c3ad4526f5f80a113357c8d"}, + {file = "onnxruntime-1.19.0-cp312-cp312-win_amd64.whl", hash = "sha256:8a1f50d49676d7b69566536ff039d9e4e95fc482a55673719f46528218ecbb94"}, + {file = "onnxruntime-1.19.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:71423c8c4b2d7a58956271534302ec72721c62a41efd0c4896343249b8399ab0"}, + {file = "onnxruntime-1.19.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9d63630d45e9498f96e75bbeb7fd4a56acb10155de0de4d0e18d1b6cbb0b358a"}, + {file = "onnxruntime-1.19.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3bfd15db1e8794d379a86c1a9116889f47f2cca40cc82208fc4f7e8c38e8522"}, + {file = "onnxruntime-1.19.0-cp38-cp38-win32.whl", hash = "sha256:3b098003b6b4cb37cc84942e5f1fe27f945dd857cbd2829c824c26b0ba4a247e"}, + {file = "onnxruntime-1.19.0-cp38-cp38-win_amd64.whl", hash = "sha256:cea067a6541d6787d903ee6843401c5b1332a266585160d9700f9f0939443886"}, + {file = "onnxruntime-1.19.0-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:c4fcff12dc5ca963c5f76b9822bb404578fa4a98c281e8c666b429192799a099"}, + {file = "onnxruntime-1.19.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f6dcad8a4db908fbe70b98c79cea1c8b6ac3316adf4ce93453136e33a524ac59"}, + {file = "onnxruntime-1.19.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4bc449907c6e8d99eee5ae5cc9c8fdef273d801dcd195393d3f9ab8ad3f49522"}, + {file = "onnxruntime-1.19.0-cp39-cp39-win32.whl", hash = "sha256:947febd48405afcf526e45ccff97ff23b15e530434705f734870d22ae7fcf236"}, + {file = "onnxruntime-1.19.0-cp39-cp39-win_amd64.whl", hash = "sha256:f60be47eff5ee77fd28a466b0fd41d7debc42a32179d1ddb21e05d6067d7b48b"}, ] [package.dependencies] coloredlogs = "*" flatbuffers = "*" -numpy = ">=1.21.6,<2.0" +numpy = ">=1.21.6" packaging = "*" protobuf = "*" sympy = "*" @@ -2393,13 +2404,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pyparsing" -version = "3.1.2" +version = "3.1.3" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = true python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, - {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, + {file = "pyparsing-3.1.3-py3-none-any.whl", hash = "sha256:1e80fdf93e6c1aeaf4702523f1d48f66d52fa6459096a8f812591157270a5896"}, + {file = "pyparsing-3.1.3.tar.gz", hash = "sha256:5d549d2a1b5e1c3e952bb55ea247bfb5ad427ea307566a350db2b3c34d4ce181"}, ] [package.extras] @@ -2582,13 +2593,13 @@ files = [ [[package]] name = "qibo" -version = "0.2.7" +version = "0.2.11" description = "A framework for quantum computing with hardware acceleration." optional = false -python-versions = "<3.12,>=3.9" +python-versions = "<3.13,>=3.9" files = [ - {file = "qibo-0.2.7-py3-none-any.whl", hash = "sha256:20e42ad27f7a9795f84565ab5645e3b24d4af62a0a8c6de5110b5ae6894b35a2"}, - {file = "qibo-0.2.7.tar.gz", hash = "sha256:a57e98a3eccfc3c43c4a697448a4618c9a158f72645d5c93b0b2bdd3ace882ef"}, + {file = "qibo-0.2.11-py3-none-any.whl", hash = "sha256:67e900364e62642c0c8c3c69fbfaea3e81bef5da53b4547b67516a11dcbe099d"}, + {file = "qibo-0.2.11.tar.gz", hash = "sha256:312037020ddfc82bcb92d698e960e5c3749fbbd61d16944b91d0ba15d6cc7931"}, ] [package.dependencies] @@ -2599,40 +2610,46 @@ networkx = ">=3.2.1,<4.0.0" numpy = ">=1.26.4,<2.0.0" openqasm3 = {version = ">=0.5.0", extras = ["parser"]} scipy = ">=1.10.1,<2.0.0" +setuptools = ">=69.1.1,<71.0.0" sympy = ">=1.11.1,<2.0.0" tabulate = ">=0.9.0,<0.10.0" [package.extras] -qinfo = ["cvxpy (>=1.4.2,<2.0.0)"] -tensorflow = ["tensorflow (>=2.14.1,<2.16)"] -torch = ["torch (>=2.1.1,<3.0.0)"] +qulacs = ["qulacs (>=0.6.4,<0.7.0)"] +tensorflow = ["tensorflow (>=2.16.1,<3.0.0)"] +torch = ["torch (>=2.1.1,<2.4)"] [[package]] name = "qibolab" -version = "0.1.8" +version = "0.2.0" description = "Quantum hardware module and drivers for Qibo" optional = false -python-versions = "<3.12,>=3.9" -files = [ - {file = "qibolab-0.1.8-py3-none-any.whl", hash = "sha256:101271a379e6148f9a61258639da38bf87b0a80bddefa21823b1561204a3d8ed"}, - {file = "qibolab-0.1.8.tar.gz", hash = "sha256:a49fef8442404f4c4116d0d308a4840aff2ff00fc985bf81c76ede13b33e41b0"}, -] +python-versions = ">=3.9,<3.13" +files = [] +develop = false [package.dependencies] -more-itertools = ">=9.1.0,<10.0.0" -networkx = ">=3.0,<4.0" -numpy = ">=1.26.4,<2.0.0" -qibo = ">=0.2.6" -setuptools = ">67.0.0" +more-itertools = "^9.1.0" +numpy = "^1.26.4" +pydantic = "^2.6.4" +qibo = "^0.2.8" +scipy = "^1.13.0" [package.extras] -emulator = ["qutip (==4.7.5)", "scipy (<1.13.0)"] +emulator = ["qutip (>=5.0.2,<6.0.0)"] los = ["pyvisa-py (==0.5.3)", "qcodes (>=0.37.0,<0.38.0)", "qcodes_contrib_drivers (==0.18.0)"] qblox = ["pyvisa-py (==0.5.3)", "qblox-instruments (==0.12.0)", "qcodes (>=0.37.0,<0.38.0)", "qcodes_contrib_drivers (==0.18.0)"] qm = ["qm-qua (==1.1.6)", "qualang-tools (>=0.15.0,<0.16.0)"] rfsoc = ["qibosoq (>=0.1.2,<0.2)"] +twpa = ["pyvisa-py (==0.5.3)", "qcodes (>=0.37.0,<0.38.0)", "qcodes_contrib_drivers (==0.18.0)"] zh = ["laboneq (==2.25.0)"] +[package.source] +type = "git" +url = "https://github.com/qiboteam/qibolab.git" +reference = "0.2" +resolved_reference = "e7a8d185ce57ea316b8bdba61fd913a7f6dc9d6b" + [[package]] name = "recommonmark" version = "0.7.1" @@ -2794,19 +2811,18 @@ stats = ["scipy (>=1.3)", "statsmodels (>=0.10)"] [[package]] name = "setuptools" -version = "72.1.0" +version = "70.3.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-72.1.0-py3-none-any.whl", hash = "sha256:5a03e1860cf56bb6ef48ce186b0e557fdba433237481a9a625176c2831be15d1"}, - {file = "setuptools-72.1.0.tar.gz", hash = "sha256:8d243eff56d095e5817f796ede6ae32941278f542e0f941867cc05ae52b162ec"}, + {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, + {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, ] [package.extras] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "ordered-set (>=3.1.1)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.11.*)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (<0.4)", "pytest-ruff (>=0.2.1)", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -2870,13 +2886,13 @@ files = [ [[package]] name = "soupsieve" -version = "2.5" +version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" files = [ - {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, - {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, ] [[package]] @@ -3096,13 +3112,13 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] [[package]] name = "sympy" -version = "1.13.1" +version = "1.13.2" description = "Computer algebra system (CAS) in Python" optional = false python-versions = ">=3.8" files = [ - {file = "sympy-1.13.1-py3-none-any.whl", hash = "sha256:db36cdc64bf61b9b24578b6f7bab1ecdd2452cf008f34faa33776680c26d66f8"}, - {file = "sympy-1.13.1.tar.gz", hash = "sha256:9cebf7e04ff162015ce31c9c6c9144daa34a93bd082f54fd8f12deca4f47515f"}, + {file = "sympy-1.13.2-py3-none-any.whl", hash = "sha256:c51d75517712f1aed280d4ce58506a4a88d635d6b5dd48b39102a7ae1f3fcfe9"}, + {file = "sympy-1.13.2.tar.gz", hash = "sha256:401449d84d07be9d0c7a46a64bd54fe097667d5e7181bfe67ec777be9e01cb13"}, ] [package.dependencies] @@ -3164,13 +3180,13 @@ files = [ [[package]] name = "tomlkit" -version = "0.13.0" +version = "0.13.2" description = "Style preserving TOML library" optional = false python-versions = ">=3.8" files = [ - {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"}, - {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, + {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, + {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, ] [[package]] @@ -3271,13 +3287,13 @@ files = [ [[package]] name = "werkzeug" -version = "3.0.3" +version = "3.0.4" description = "The comprehensive WSGI web application library." optional = false python-versions = ">=3.8" files = [ - {file = "werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8"}, - {file = "werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18"}, + {file = "werkzeug-3.0.4-py3-none-any.whl", hash = "sha256:02c9eb92b7d6c06f31a782811505d2157837cea66aaede3e217c7c27c039476c"}, + {file = "werkzeug-3.0.4.tar.gz", hash = "sha256:34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306"}, ] [package.dependencies] @@ -3384,13 +3400,13 @@ files = [ [[package]] name = "zipp" -version = "3.19.2" +version = "3.20.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, - {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, + {file = "zipp-3.20.0-py3-none-any.whl", hash = "sha256:58da6168be89f0be59beb194da1250516fdaa062ccebd30127ac65d30045e10d"}, + {file = "zipp-3.20.0.tar.gz", hash = "sha256:0145e43d89664cfe1a2e533adc75adafed82fe2da404b4bbb6b026c0157bdb31"}, ] [package.extras] @@ -3404,4 +3420,4 @@ viz = ["pydot"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "878af869bce716692424a4ff967715148795b05aecfddedeab83ae0418a649d4" +content-hash = "2f0dd31a0cf1f6519ca930ef0bd0d4e1599ce5b3f7594e00678f2c83ab01eb42" diff --git a/pyproject.toml b/pyproject.toml index 55dfbde1c..b1046b2b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ classifiers = [ [tool.poetry.dependencies] python = ">=3.9,<3.12" -qibolab = "^0.1.8" +qibolab = { git = "https://github.com/qiboteam/qibolab.git", branch = "0.2" } qibo = "^0.2.6" numpy = "^1.26.4" scipy = "^1.10.1" From 3fb247bb5ccbd1273e517f1a1083c7dc4296b164 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 27 Aug 2024 21:06:25 +0400 Subject: [PATCH 16/38] fix: unrolling result indexing --- src/qibocal/protocols/classification.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index d5d1978d3..022ca8b82 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -224,7 +224,7 @@ def _acquisition( for qubit in targets: serial = ro_pulses[qubit] if params.unrolling: - result = results[serial][ig] + result = results[serial][0][ig] else: result = results[ig][serial][0] data.register_qubit( From 9a0665130110cec2dd93dcaffee137e26d69dee8 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Wed, 28 Aug 2024 23:44:18 +0300 Subject: [PATCH 17/38] chore: update QubitId and QubitPairId imports to identifier --- doc/source/tutorials/advanced.rst | 8 ++++---- src/qibocal/auto/operation.py | 3 ++- src/qibocal/auto/task.py | 2 +- src/qibocal/auto/transpile.py | 2 +- src/qibocal/cli/report.py | 2 +- src/qibocal/fitting/classifier/run.py | 2 +- src/qibocal/protocols/allxy/allxy.py | 2 +- src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py | 2 +- .../protocols/allxy/allxy_resonator_depletion_tuning.py | 2 +- src/qibocal/protocols/classification.py | 2 +- src/qibocal/protocols/coherence/spin_echo.py | 2 +- src/qibocal/protocols/coherence/spin_echo_signal.py | 2 +- src/qibocal/protocols/coherence/t1.py | 2 +- src/qibocal/protocols/coherence/t1_sequences.py | 2 +- src/qibocal/protocols/coherence/t1_signal.py | 2 +- src/qibocal/protocols/coherence/t2.py | 2 +- src/qibocal/protocols/coherence/t2_sequences.py | 2 +- src/qibocal/protocols/coherence/t2_signal.py | 2 +- src/qibocal/protocols/coherence/zeno.py | 2 +- src/qibocal/protocols/coherence/zeno_signal.py | 2 +- src/qibocal/protocols/couplers/coupler_chevron.py | 2 +- .../protocols/couplers/coupler_qubit_spectroscopy.py | 2 +- .../protocols/couplers/coupler_resonator_spectroscopy.py | 2 +- src/qibocal/protocols/couplers/utils.py | 2 +- src/qibocal/protocols/dispersive_shift.py | 2 +- src/qibocal/protocols/dispersive_shift_qutrit.py | 2 +- src/qibocal/protocols/drag.py | 2 +- src/qibocal/protocols/fast_reset/fast_reset.py | 2 +- src/qibocal/protocols/flipping.py | 2 +- src/qibocal/protocols/flipping_signal.py | 2 +- src/qibocal/protocols/flux_dependence/avoided_crossing.py | 2 +- src/qibocal/protocols/flux_dependence/qubit_crosstalk.py | 2 +- .../protocols/flux_dependence/qubit_flux_dependence.py | 2 +- .../protocols/flux_dependence/qubit_flux_tracking.py | 2 +- .../protocols/flux_dependence/resonator_crosstalk.py | 2 +- .../flux_dependence/resonator_flux_dependence.py | 2 +- src/qibocal/protocols/flux_dependence/utils.py | 2 +- src/qibocal/protocols/qubit_power_spectroscopy.py | 2 +- src/qibocal/protocols/qubit_spectroscopy.py | 2 +- src/qibocal/protocols/qubit_spectroscopy_ef.py | 2 +- src/qibocal/protocols/qutrit_classification.py | 2 +- src/qibocal/protocols/rabi/amplitude.py | 2 +- src/qibocal/protocols/rabi/amplitude_frequency.py | 2 +- src/qibocal/protocols/rabi/amplitude_frequency_signal.py | 2 +- src/qibocal/protocols/rabi/amplitude_signal.py | 2 +- src/qibocal/protocols/rabi/ef.py | 2 +- src/qibocal/protocols/rabi/length.py | 2 +- src/qibocal/protocols/rabi/length_frequency.py | 2 +- src/qibocal/protocols/rabi/length_frequency_signal.py | 2 +- src/qibocal/protocols/rabi/length_sequences.py | 2 +- src/qibocal/protocols/rabi/length_signal.py | 2 +- src/qibocal/protocols/rabi/utils.py | 2 +- src/qibocal/protocols/ramsey/ramsey.py | 2 +- src/qibocal/protocols/ramsey/ramsey_signal.py | 2 +- src/qibocal/protocols/ramsey/utils.py | 2 +- .../protocols/randomized_benchmarking/filtered_rb.py | 2 +- .../protocols/randomized_benchmarking/standard_rb.py | 2 +- .../protocols/randomized_benchmarking/standard_rb_2q.py | 2 +- .../randomized_benchmarking/standard_rb_2q_inter.py | 2 +- src/qibocal/protocols/randomized_benchmarking/utils.py | 2 +- src/qibocal/protocols/readout_characterization.py | 2 +- src/qibocal/protocols/readout_mitigation_matrix.py | 2 +- .../protocols/readout_optimization/resonator_amplitude.py | 2 +- .../protocols/readout_optimization/resonator_frequency.py | 2 +- .../readout_optimization/twpa_calibration/frequency.py | 2 +- .../twpa_calibration/frequency_SNR.py | 2 +- .../twpa_calibration/frequency_power.py | 2 +- .../readout_optimization/twpa_calibration/power.py | 2 +- .../readout_optimization/twpa_calibration/power_SNR.py | 2 +- src/qibocal/protocols/resonator_punchout.py | 2 +- src/qibocal/protocols/resonator_punchout_attenuation.py | 2 +- src/qibocal/protocols/resonator_spectroscopy.py | 2 +- .../signal_experiments/calibrate_state_discrimination.py | 2 +- .../signal_experiments/time_of_flight_readout.py | 2 +- src/qibocal/protocols/state_tomography.py | 2 +- .../protocols/two_qubit_interaction/chevron/chevron.py | 2 +- .../two_qubit_interaction/chevron/chevron_signal.py | 2 +- .../protocols/two_qubit_interaction/chevron/utils.py | 2 +- .../protocols/two_qubit_interaction/chsh/protocol.py | 2 +- src/qibocal/protocols/two_qubit_interaction/optimize.py | 2 +- src/qibocal/protocols/two_qubit_interaction/utils.py | 2 +- .../protocols/two_qubit_interaction/virtual_z_phases.py | 2 +- .../two_qubit_interaction/virtual_z_phases_signal.py | 2 +- src/qibocal/protocols/two_qubit_state_tomography.py | 2 +- src/qibocal/protocols/utils.py | 2 +- src/qibocal/update.py | 2 +- src/qibocal/web/compared_report.py | 2 +- tests/test_executor.py | 2 +- 88 files changed, 92 insertions(+), 91 deletions(-) diff --git a/doc/source/tutorials/advanced.rst b/doc/source/tutorials/advanced.rst index 3b9a99ca4..2838542ac 100644 --- a/doc/source/tutorials/advanced.rst +++ b/doc/source/tutorials/advanced.rst @@ -191,7 +191,7 @@ In the acquisition function we are going to perform the experiment. .. code-block:: python from qibolab.platform import Platform - from qibolab.qubits import QubitId, QubitPairId + from qibolab.identifier import QubitId, QubitPairId from typing import Union def acquisition(params: RoutineParameters, platform: Platform, targets: Union[list[QubitId], list[QubitPairId], list[list[QubitId]]]) -> RoutineData @@ -201,7 +201,7 @@ In the acquisition function we are going to perform the experiment. .. code-block:: python from qibolab.platform import Platform - from qibolab.qubits import QubitId + from qibolab.identifier import QubitId def acquisition( params: RotationParameters, @@ -252,7 +252,7 @@ parameters for each qubit. .. code-block:: python - from qibolab.qubits import QubitId + from qibolab.identifier import QubitId @dataclass class RotationResults(Results): @@ -344,7 +344,7 @@ Here is the plotting function for the protocol that we are coding: .. code-block:: python import plotly.graph_objects as go - from qibolab.qubits import QubitId + from qibolab.identifier import QubitId def plot(data: RotationData, fit: RotationResults, target: QubitId): """Plotting function for rotation.""" diff --git a/src/qibocal/auto/operation.py b/src/qibocal/auto/operation.py index 1b2240f7b..d39f79dd4 100644 --- a/src/qibocal/auto/operation.py +++ b/src/qibocal/auto/operation.py @@ -10,8 +10,9 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.Identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import Qubit, QubitId, QubitPairId +from qibolab.qubits import Qubit from qibocal.config import log diff --git a/src/qibocal/auto/task.py b/src/qibocal/auto/task.py index 33a038680..e6104b7b2 100644 --- a/src/qibocal/auto/task.py +++ b/src/qibocal/auto/task.py @@ -6,8 +6,8 @@ from typing import Any, NewType, Optional, Union import yaml +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitId, QubitPairId from .. import protocols from ..config import log diff --git a/src/qibocal/auto/transpile.py b/src/qibocal/auto/transpile.py index 63f09464d..ae391c5fa 100644 --- a/src/qibocal/auto/transpile.py +++ b/src/qibocal/auto/transpile.py @@ -4,7 +4,7 @@ from qibo.backends.abstract import Backend from qibo.transpiler.pipeline import Passes from qibo.transpiler.unroller import NativeGates, Unroller -from qibolab.qubits import QubitId +from qibolab.identifier import QubitId def transpile_circuits( diff --git a/src/qibocal/cli/report.py b/src/qibocal/cli/report.py index b6c4e6e20..0623ecd05 100644 --- a/src/qibocal/cli/report.py +++ b/src/qibocal/cli/report.py @@ -4,7 +4,7 @@ import plotly.graph_objects as go from jinja2 import Environment, FileSystemLoader -from qibolab.qubits import QubitId, QubitPairId +from qibolab.identifier import QubitId, QubitPairId from qibocal.auto.history import History from qibocal.auto.output import Output diff --git a/src/qibocal/fitting/classifier/run.py b/src/qibocal/fitting/classifier/run.py index 02c466b53..83991355b 100644 --- a/src/qibocal/fitting/classifier/run.py +++ b/src/qibocal/fitting/classifier/run.py @@ -8,7 +8,7 @@ import numpy as np import pandas as pd -from qibolab.qubits import QubitId +from qibolab.identifier import QubitId from sklearn.metrics import accuracy_score from . import data diff --git a/src/qibocal/protocols/allxy/allxy.py b/src/qibocal/protocols/allxy/allxy.py index 3e824f20c..f3a178b8b 100644 --- a/src/qibocal/protocols/allxy/allxy.py +++ b/src/qibocal/protocols/allxy/allxy.py @@ -4,8 +4,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py index 7b294bf2f..33dcdace7 100644 --- a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py index 5baace6e5..807875274 100644 --- a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 022ca8b82..1918780a0 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -8,9 +8,9 @@ import pandas as pd import plotly.graph_objects as go from qibolab import AcquisitionType, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.pulses import Delay -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from sklearn.metrics import roc_auc_score, roc_curve diff --git a/src/qibocal/protocols/coherence/spin_echo.py b/src/qibocal/protocols/coherence/spin_echo.py index 0de75b494..57d678f8f 100644 --- a/src/qibocal/protocols/coherence/spin_echo.py +++ b/src/qibocal/protocols/coherence/spin_echo.py @@ -5,8 +5,8 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/spin_echo_signal.py b/src/qibocal/protocols/coherence/spin_echo_signal.py index 218a8987e..0116ba955 100644 --- a/src/qibocal/protocols/coherence/spin_echo_signal.py +++ b/src/qibocal/protocols/coherence/spin_echo_signal.py @@ -5,8 +5,8 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal import update diff --git a/src/qibocal/protocols/coherence/t1.py b/src/qibocal/protocols/coherence/t1.py index 342610dde..78720729a 100644 --- a/src/qibocal/protocols/coherence/t1.py +++ b/src/qibocal/protocols/coherence/t1.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/coherence/t1_sequences.py b/src/qibocal/protocols/coherence/t1_sequences.py index 1945fcce7..b7529f47e 100644 --- a/src/qibocal/protocols/coherence/t1_sequences.py +++ b/src/qibocal/protocols/coherence/t1_sequences.py @@ -1,7 +1,7 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/t1_signal.py b/src/qibocal/protocols/coherence/t1_signal.py index 5e99d4e7c..22e75e509 100644 --- a/src/qibocal/protocols/coherence/t1_signal.py +++ b/src/qibocal/protocols/coherence/t1_signal.py @@ -5,9 +5,9 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.pulses import Delay -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/coherence/t2.py b/src/qibocal/protocols/coherence/t2.py index dc494b506..71a0a0e7b 100644 --- a/src/qibocal/protocols/coherence/t2.py +++ b/src/qibocal/protocols/coherence/t2.py @@ -4,8 +4,8 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/coherence/t2_sequences.py b/src/qibocal/protocols/coherence/t2_sequences.py index 6461f3bef..b3f22dd24 100644 --- a/src/qibocal/protocols/coherence/t2_sequences.py +++ b/src/qibocal/protocols/coherence/t2_sequences.py @@ -1,7 +1,7 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/t2_signal.py b/src/qibocal/protocols/coherence/t2_signal.py index 5c1486239..13f9858b5 100644 --- a/src/qibocal/protocols/coherence/t2_signal.py +++ b/src/qibocal/protocols/coherence/t2_signal.py @@ -4,9 +4,9 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.pulses import Delay -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/coherence/zeno.py b/src/qibocal/protocols/coherence/zeno.py index 9d440a72e..2abf6e3f9 100644 --- a/src/qibocal/protocols/coherence/zeno.py +++ b/src/qibocal/protocols/coherence/zeno.py @@ -4,8 +4,8 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/zeno_signal.py b/src/qibocal/protocols/coherence/zeno_signal.py index fc232204f..beb00fd0a 100644 --- a/src/qibocal/protocols/coherence/zeno_signal.py +++ b/src/qibocal/protocols/coherence/zeno_signal.py @@ -4,8 +4,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal import update diff --git a/src/qibocal/protocols/couplers/coupler_chevron.py b/src/qibocal/protocols/couplers/coupler_chevron.py index e4037438f..f1534acd4 100644 --- a/src/qibocal/protocols/couplers/coupler_chevron.py +++ b/src/qibocal/protocols/couplers/coupler_chevron.py @@ -3,8 +3,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py index ad46dad4a..0fda884cb 100644 --- a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py @@ -2,8 +2,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py index 1e899ec2c..7abe6fde8 100644 --- a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py @@ -1,7 +1,7 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/couplers/utils.py b/src/qibocal/protocols/couplers/utils.py index 9e2648dce..00b518a18 100644 --- a/src/qibocal/protocols/couplers/utils.py +++ b/src/qibocal/protocols/couplers/utils.py @@ -3,7 +3,7 @@ import numpy as np import numpy.typing as npt -from qibolab.qubits import QubitId +from qibolab.identifier import QubitId from qibocal.auto.operation import Data, Results diff --git a/src/qibocal/protocols/dispersive_shift.py b/src/qibocal/protocols/dispersive_shift.py index 9c9dabf3b..8879c20a8 100644 --- a/src/qibocal/protocols/dispersive_shift.py +++ b/src/qibocal/protocols/dispersive_shift.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/dispersive_shift_qutrit.py b/src/qibocal/protocols/dispersive_shift_qutrit.py index 75aa04ea5..27636ed52 100644 --- a/src/qibocal/protocols/dispersive_shift_qutrit.py +++ b/src/qibocal/protocols/dispersive_shift_qutrit.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/drag.py b/src/qibocal/protocols/drag.py index efc6dd9e5..1737bf355 100644 --- a/src/qibocal/protocols/drag.py +++ b/src/qibocal/protocols/drag.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/fast_reset/fast_reset.py b/src/qibocal/protocols/fast_reset/fast_reset.py index 853d11933..0056a9a87 100644 --- a/src/qibocal/protocols/fast_reset/fast_reset.py +++ b/src/qibocal/protocols/fast_reset/fast_reset.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/flipping.py b/src/qibocal/protocols/flipping.py index 44f19484b..275a8d77a 100644 --- a/src/qibocal/protocols/flipping.py +++ b/src/qibocal/protocols/flipping.py @@ -4,8 +4,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flipping_signal.py b/src/qibocal/protocols/flipping_signal.py index 4030bf285..03c8fb545 100644 --- a/src/qibocal/protocols/flipping_signal.py +++ b/src/qibocal/protocols/flipping_signal.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flux_dependence/avoided_crossing.py b/src/qibocal/protocols/flux_dependence/avoided_crossing.py index f9f9ce796..8db6c0ad7 100644 --- a/src/qibocal/protocols/flux_dependence/avoided_crossing.py +++ b/src/qibocal/protocols/flux_dependence/avoided_crossing.py @@ -7,8 +7,8 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitId, QubitPairId from qibocal.auto.operation import Data, Results, Routine from qibocal.protocols.two_qubit_interaction.utils import order_pair diff --git a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py index ffdbf18aa..135971f5c 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py @@ -4,8 +4,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py index 560e7ee95..0e9833121 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py @@ -4,8 +4,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py index bf325be3f..1823d6e97 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py @@ -2,8 +2,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py index 3c2d1b9b1..b07d51d4d 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py @@ -4,8 +4,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py index f16118036..9a2528051 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py @@ -4,8 +4,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/flux_dependence/utils.py b/src/qibocal/protocols/flux_dependence/utils.py index 673a71275..5e960334a 100644 --- a/src/qibocal/protocols/flux_dependence/utils.py +++ b/src/qibocal/protocols/flux_dependence/utils.py @@ -1,8 +1,8 @@ import numpy as np import plotly.graph_objects as go from plotly.subplots import make_subplots +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from ..utils import HZ_TO_GHZ diff --git a/src/qibocal/protocols/qubit_power_spectroscopy.py b/src/qibocal/protocols/qubit_power_spectroscopy.py index 2fe470cb4..0f73952ab 100644 --- a/src/qibocal/protocols/qubit_power_spectroscopy.py +++ b/src/qibocal/protocols/qubit_power_spectroscopy.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/qubit_spectroscopy.py b/src/qibocal/protocols/qubit_spectroscopy.py index 9f632f56e..ece3436f0 100644 --- a/src/qibocal/protocols/qubit_spectroscopy.py +++ b/src/qibocal/protocols/qubit_spectroscopy.py @@ -2,8 +2,8 @@ from typing import Optional import numpy as np +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/qubit_spectroscopy_ef.py b/src/qibocal/protocols/qubit_spectroscopy_ef.py index 16df927e1..03902a087 100644 --- a/src/qibocal/protocols/qubit_spectroscopy_ef.py +++ b/src/qibocal/protocols/qubit_spectroscopy_ef.py @@ -1,8 +1,8 @@ from dataclasses import asdict, dataclass, field import numpy as np +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/qutrit_classification.py b/src/qibocal/protocols/qutrit_classification.py index ec9d85c22..f3caaed57 100644 --- a/src/qibocal/protocols/qutrit_classification.py +++ b/src/qibocal/protocols/qutrit_classification.py @@ -3,8 +3,8 @@ import numpy as np from qibolab import AcquisitionType, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index 4af3037fb..702d33cb9 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -3,8 +3,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.result import probability from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/rabi/amplitude_frequency.py b/src/qibocal/protocols/rabi/amplitude_frequency.py index 39b6be4c4..1f51c3f3a 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency.py @@ -7,8 +7,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py index b077927ec..40fe0b554 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py @@ -8,8 +8,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 468f34659..75e415e1a 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -4,8 +4,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.result import magnitude, phase from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/rabi/ef.py b/src/qibocal/protocols/rabi/ef.py index b1dcb281f..451b3d25e 100644 --- a/src/qibocal/protocols/rabi/ef.py +++ b/src/qibocal/protocols/rabi/ef.py @@ -2,8 +2,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index bb5f6ec5c..ec3a2ab9d 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -4,8 +4,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.result import probability from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/rabi/length_frequency.py b/src/qibocal/protocols/rabi/length_frequency.py index ea8b1fe6f..eb6aa687c 100644 --- a/src/qibocal/protocols/rabi/length_frequency.py +++ b/src/qibocal/protocols/rabi/length_frequency.py @@ -7,8 +7,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/rabi/length_frequency_signal.py b/src/qibocal/protocols/rabi/length_frequency_signal.py index 109ee40e4..0440c3c3d 100644 --- a/src/qibocal/protocols/rabi/length_frequency_signal.py +++ b/src/qibocal/protocols/rabi/length_frequency_signal.py @@ -8,8 +8,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal import update diff --git a/src/qibocal/protocols/rabi/length_sequences.py b/src/qibocal/protocols/rabi/length_sequences.py index 3b6259d20..7d045d485 100644 --- a/src/qibocal/protocols/rabi/length_sequences.py +++ b/src/qibocal/protocols/rabi/length_sequences.py @@ -1,7 +1,7 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index 59146b38d..2faa9d02f 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -4,8 +4,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.result import magnitude, phase from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index 795c2d01c..dca866f7a 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -1,9 +1,9 @@ import numpy as np import plotly.graph_objects as go from plotly.subplots import make_subplots +from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.pulses import Delay -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/ramsey/ramsey.py b/src/qibocal/protocols/ramsey/ramsey.py index d5eb8d411..361554487 100644 --- a/src/qibocal/protocols/ramsey/ramsey.py +++ b/src/qibocal/protocols/ramsey/ramsey.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/ramsey/ramsey_signal.py b/src/qibocal/protocols/ramsey/ramsey_signal.py index dfc5b7f6e..febef5b8b 100644 --- a/src/qibocal/protocols/ramsey/ramsey_signal.py +++ b/src/qibocal/protocols/ramsey/ramsey_signal.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/ramsey/utils.py b/src/qibocal/protocols/ramsey/utils.py index a9a0206af..dc1db40ce 100644 --- a/src/qibocal/protocols/ramsey/utils.py +++ b/src/qibocal/protocols/ramsey/utils.py @@ -2,7 +2,7 @@ import numpy as np from qibolab import Platform -from qibolab.qubits import QubitId +from qibolab.identifier import QubitId from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py b/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py index 6c949bb73..122875352 100644 --- a/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py +++ b/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py @@ -2,8 +2,8 @@ import numpy as np import plotly.graph_objects as go +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal.auto.operation import Results, Routine from qibocal.protocols.randomized_benchmarking.utils import rb_acquisition diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb.py index 0788afabf..50b10a31d 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb.py @@ -3,8 +3,8 @@ import numpy as np import plotly.graph_objects as go +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal.auto.operation import Parameters, Routine diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py index 79cb260b9..c7735d414 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py @@ -1,7 +1,7 @@ from dataclasses import dataclass +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibocal.auto.operation import Routine from qibocal.protocols.randomized_benchmarking.standard_rb import ( diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py index c6a657e05..d6e20fd7f 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py @@ -1,8 +1,8 @@ from dataclasses import dataclass, fields import numpy as np +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibocal.auto.operation import Routine from qibocal.protocols.randomized_benchmarking.standard_rb import _plot diff --git a/src/qibocal/protocols/randomized_benchmarking/utils.py b/src/qibocal/protocols/randomized_benchmarking/utils.py index 381056e8f..29b67f42f 100644 --- a/src/qibocal/protocols/randomized_benchmarking/utils.py +++ b/src/qibocal/protocols/randomized_benchmarking/utils.py @@ -10,8 +10,8 @@ from qibo.backends import GlobalBackend from qibo.config import raise_error from qibo.models import Circuit +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitId, QubitPairId from qibocal.auto.operation import Data, Parameters, Results from qibocal.auto.transpile import ( diff --git a/src/qibocal/protocols/readout_characterization.py b/src/qibocal/protocols/readout_characterization.py index d22469a19..eb807c679 100644 --- a/src/qibocal/protocols/readout_characterization.py +++ b/src/qibocal/protocols/readout_characterization.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal import update diff --git a/src/qibocal/protocols/readout_mitigation_matrix.py b/src/qibocal/protocols/readout_mitigation_matrix.py index e9098dc94..26d44b0fa 100644 --- a/src/qibocal/protocols/readout_mitigation_matrix.py +++ b/src/qibocal/protocols/readout_mitigation_matrix.py @@ -8,8 +8,8 @@ from qibo.backends import GlobalBackend from qibo.models import Circuit from qibolab import ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py index 67c955884..04236f941 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py +++ b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal import update diff --git a/src/qibocal/protocols/readout_optimization/resonator_frequency.py b/src/qibocal/protocols/readout_optimization/resonator_frequency.py index f7e20ac03..e52d46a90 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_frequency.py +++ b/src/qibocal/protocols/readout_optimization/resonator_frequency.py @@ -5,8 +5,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py index f35c5e1e3..4db9ee3c8 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py @@ -3,8 +3,8 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py index 7b1e1e32b..c86d9ee86 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal.auto.operation import Data, Parameters, Results, Routine from qibocal.protocols.resonator_spectroscopy import resonator_spectroscopy diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py index 86f21a4e0..18fdb1682 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py @@ -3,8 +3,8 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py index 76f0b3c87..0e0bfe253 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py @@ -2,8 +2,8 @@ import numpy as np import plotly.graph_objects as go +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal import update from qibocal.auto.operation import Parameters, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py index 93b22e0e5..7f0b5fde8 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal.auto.operation import Data, Parameters, Results, Routine from qibocal.protocols.resonator_spectroscopy import resonator_spectroscopy diff --git a/src/qibocal/protocols/resonator_punchout.py b/src/qibocal/protocols/resonator_punchout.py index a54b22fc7..570defa06 100644 --- a/src/qibocal/protocols/resonator_punchout.py +++ b/src/qibocal/protocols/resonator_punchout.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/resonator_punchout_attenuation.py b/src/qibocal/protocols/resonator_punchout_attenuation.py index 909c9b783..1be7914a4 100644 --- a/src/qibocal/protocols/resonator_punchout_attenuation.py +++ b/src/qibocal/protocols/resonator_punchout_attenuation.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index 71937b0b8..afef94002 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -5,8 +5,8 @@ import numpy as np import numpy.typing as npt from _collections_abc import Callable +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.result import magnitude, phase from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType diff --git a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py index e1d014317..f133497d8 100644 --- a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py +++ b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py @@ -6,8 +6,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal import update diff --git a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py index 7722d3baa..cfc53d90c 100644 --- a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py +++ b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py @@ -5,8 +5,8 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibolab.sequence import PulseSequence from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/state_tomography.py b/src/qibocal/protocols/state_tomography.py index 6094de710..fb7de6e30 100644 --- a/src/qibocal/protocols/state_tomography.py +++ b/src/qibocal/protocols/state_tomography.py @@ -10,8 +10,8 @@ from qibo import Circuit, gates from qibo.backends import GlobalBackend, NumpyBackend, matrices from qibo.quantum_info import fidelity +from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.qubits import QubitId from qibocal.auto.operation import DATAFILE, Data, Parameters, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py index c65ce9aeb..30f094d3e 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py @@ -8,8 +8,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py index ccd21bdc1..6f74f1e18 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py @@ -5,8 +5,8 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py b/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py index 0e6382ae1..e353b816d 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py @@ -1,6 +1,6 @@ import numpy as np +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibolab.sequence import PulseSequence from ..utils import order_pair diff --git a/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py b/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py index 6adc6f147..cd4715ba4 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py +++ b/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py @@ -10,8 +10,8 @@ import plotly.graph_objects as go from qibo.backends import GlobalBackend from qibolab import ExecutionParameters +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitId, QubitPairId from qibocal.auto.operation import Data, Parameters, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit diff --git a/src/qibocal/protocols/two_qubit_interaction/optimize.py b/src/qibocal/protocols/two_qubit_interaction/optimize.py index 020eecb66..881afadf2 100644 --- a/src/qibocal/protocols/two_qubit_interaction/optimize.py +++ b/src/qibocal/protocols/two_qubit_interaction/optimize.py @@ -8,8 +8,8 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitId, QubitPairId from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/two_qubit_interaction/utils.py b/src/qibocal/protocols/two_qubit_interaction/utils.py index 06c912a30..523f4b1b9 100644 --- a/src/qibocal/protocols/two_qubit_interaction/utils.py +++ b/src/qibocal/protocols/two_qubit_interaction/utils.py @@ -1,6 +1,6 @@ import numpy as np +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitId, QubitPairId from ..utils import fallback_period, guess_period diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py index 8c49bb97a..814fae98d 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py @@ -8,9 +8,9 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform from qibolab.pulses import Pulse -from qibolab.qubits import QubitId, QubitPairId from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper, SweeperType from scipy.optimize import curve_fit diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py index 2b3f4419e..70194a551 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py @@ -4,8 +4,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters +from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitPairId from qibolab.sweeper import Parameter, Sweeper, SweeperType from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/two_qubit_state_tomography.py b/src/qibocal/protocols/two_qubit_state_tomography.py index 0d3ecabc4..2e5021211 100644 --- a/src/qibocal/protocols/two_qubit_state_tomography.py +++ b/src/qibocal/protocols/two_qubit_state_tomography.py @@ -12,8 +12,8 @@ from qibo.backends import GlobalBackend, NumpyBackend from qibo.quantum_info import fidelity from qibo.result import QuantumState +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitId, QubitPairId from qibocal.auto.operation import DATAFILE, Data, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit diff --git a/src/qibocal/protocols/utils.py b/src/qibocal/protocols/utils.py index a8513ef92..b0da77e75 100644 --- a/src/qibocal/protocols/utils.py +++ b/src/qibocal/protocols/utils.py @@ -7,7 +7,7 @@ import plotly.graph_objects as go from numpy.typing import NDArray from plotly.subplots import make_subplots -from qibolab.qubits import QubitId +from qibolab.identifier import QubitId from scipy import constants from scipy.optimize import curve_fit from scipy.signal import find_peaks diff --git a/src/qibocal/update.py b/src/qibocal/update.py index 372b8dadf..a172d4bfe 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -5,8 +5,8 @@ import numpy as np from qibolab import pulses +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.qubits import QubitId, QubitPairId CLASSIFICATION_PARAMS = [ "threshold", diff --git a/src/qibocal/web/compared_report.py b/src/qibocal/web/compared_report.py index 562416c22..616fd6312 100644 --- a/src/qibocal/web/compared_report.py +++ b/src/qibocal/web/compared_report.py @@ -7,7 +7,7 @@ import pandas as pd import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.qubits import QubitId, QubitPairId +from qibolab.identifier import QubitId, QubitPairId from qibocal.auto.history import History from qibocal.auto.output import Output diff --git a/tests/test_executor.py b/tests/test_executor.py index c9f1bbeb6..4d60705d0 100644 --- a/tests/test_executor.py +++ b/tests/test_executor.py @@ -8,7 +8,7 @@ import pytest from qibolab import Platform, create_platform -from qibolab.qubits import QubitId +from qibolab.identifier import QubitId import qibocal import qibocal.protocols From 9b1fbb626afa45283d29f54c37f07e991d2131ca Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Wed, 28 Aug 2024 23:49:02 +0300 Subject: [PATCH 18/38] chore: drop SweeperType --- src/qibocal/auto/operation.py | 2 +- src/qibocal/protocols/coherence/t1.py | 2 +- src/qibocal/protocols/coherence/t1_signal.py | 2 +- src/qibocal/protocols/coherence/t2.py | 2 +- src/qibocal/protocols/coherence/t2_signal.py | 2 +- src/qibocal/protocols/couplers/coupler_chevron.py | 2 +- src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py | 2 +- .../protocols/couplers/coupler_resonator_spectroscopy.py | 2 +- src/qibocal/protocols/dispersive_shift.py | 2 +- src/qibocal/protocols/dispersive_shift_qutrit.py | 2 +- src/qibocal/protocols/flux_dependence/qubit_crosstalk.py | 2 +- src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py | 2 +- src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py | 2 +- src/qibocal/protocols/flux_dependence/resonator_crosstalk.py | 2 +- .../protocols/flux_dependence/resonator_flux_dependence.py | 2 +- src/qibocal/protocols/qubit_power_spectroscopy.py | 2 +- src/qibocal/protocols/qubit_spectroscopy.py | 2 +- src/qibocal/protocols/qubit_spectroscopy_ef.py | 2 +- src/qibocal/protocols/rabi/amplitude.py | 2 +- src/qibocal/protocols/rabi/amplitude_frequency.py | 2 +- src/qibocal/protocols/rabi/amplitude_frequency_signal.py | 2 +- src/qibocal/protocols/rabi/amplitude_signal.py | 2 +- src/qibocal/protocols/rabi/ef.py | 2 +- src/qibocal/protocols/rabi/length.py | 2 +- src/qibocal/protocols/rabi/length_frequency.py | 2 +- src/qibocal/protocols/rabi/length_frequency_signal.py | 2 +- src/qibocal/protocols/rabi/length_signal.py | 2 +- src/qibocal/protocols/ramsey/ramsey.py | 2 +- src/qibocal/protocols/ramsey/ramsey_signal.py | 2 +- .../protocols/readout_optimization/resonator_frequency.py | 2 +- src/qibocal/protocols/resonator_punchout.py | 2 +- src/qibocal/protocols/resonator_punchout_attenuation.py | 2 +- src/qibocal/protocols/resonator_spectroscopy.py | 2 +- src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py | 2 +- .../protocols/two_qubit_interaction/chevron/chevron_signal.py | 2 +- src/qibocal/protocols/two_qubit_interaction/optimize.py | 2 +- src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py | 2 +- .../protocols/two_qubit_interaction/virtual_z_phases_signal.py | 2 +- 38 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/qibocal/auto/operation.py b/src/qibocal/auto/operation.py index d39f79dd4..aa19e9ab4 100644 --- a/src/qibocal/auto/operation.py +++ b/src/qibocal/auto/operation.py @@ -10,7 +10,7 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.Identifier import QubitId, QubitPairId +from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform from qibolab.qubits import Qubit diff --git a/src/qibocal/protocols/coherence/t1.py b/src/qibocal/protocols/coherence/t1.py index 78720729a..26f72964e 100644 --- a/src/qibocal/protocols/coherence/t1.py +++ b/src/qibocal/protocols/coherence/t1.py @@ -8,7 +8,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Data, Routine diff --git a/src/qibocal/protocols/coherence/t1_signal.py b/src/qibocal/protocols/coherence/t1_signal.py index 22e75e509..534573978 100644 --- a/src/qibocal/protocols/coherence/t1_signal.py +++ b/src/qibocal/protocols/coherence/t1_signal.py @@ -9,7 +9,7 @@ from qibolab.platform import Platform from qibolab.pulses import Delay from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/coherence/t2.py b/src/qibocal/protocols/coherence/t2.py index 71a0a0e7b..4ee5ca959 100644 --- a/src/qibocal/protocols/coherence/t2.py +++ b/src/qibocal/protocols/coherence/t2.py @@ -7,7 +7,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/coherence/t2_signal.py b/src/qibocal/protocols/coherence/t2_signal.py index 13f9858b5..ca7dada44 100644 --- a/src/qibocal/protocols/coherence/t2_signal.py +++ b/src/qibocal/protocols/coherence/t2_signal.py @@ -8,7 +8,7 @@ from qibolab.platform import Platform from qibolab.pulses import Delay from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Parameters, Results, Routine diff --git a/src/qibocal/protocols/couplers/coupler_chevron.py b/src/qibocal/protocols/couplers/coupler_chevron.py index f1534acd4..635d24756 100644 --- a/src/qibocal/protocols/couplers/coupler_chevron.py +++ b/src/qibocal/protocols/couplers/coupler_chevron.py @@ -6,7 +6,7 @@ from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Results, Routine diff --git a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py index 0fda884cb..eb31c7c10 100644 --- a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py @@ -5,7 +5,7 @@ from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py index 7abe6fde8..4d1c67dca 100644 --- a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py @@ -3,7 +3,7 @@ from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/dispersive_shift.py b/src/qibocal/protocols/dispersive_shift.py index 8879c20a8..7264057db 100644 --- a/src/qibocal/protocols/dispersive_shift.py +++ b/src/qibocal/protocols/dispersive_shift.py @@ -8,7 +8,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/dispersive_shift_qutrit.py b/src/qibocal/protocols/dispersive_shift_qutrit.py index 27636ed52..32e58bc96 100644 --- a/src/qibocal/protocols/dispersive_shift_qutrit.py +++ b/src/qibocal/protocols/dispersive_shift_qutrit.py @@ -8,7 +8,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Results, Routine from qibocal.protocols.utils import ( diff --git a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py index 135971f5c..acff3396d 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py @@ -7,7 +7,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py index 0e9833121..c0689c6d0 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py @@ -7,7 +7,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py index 1823d6e97..484d7efbb 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py @@ -5,7 +5,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine from qibocal.config import raise_error diff --git a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py index b07d51d4d..37eb9d209 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py @@ -7,7 +7,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py index 9a2528051..7caa16dcd 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py @@ -7,7 +7,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/qubit_power_spectroscopy.py b/src/qibocal/protocols/qubit_power_spectroscopy.py index 0f73952ab..4631b612a 100644 --- a/src/qibocal/protocols/qubit_power_spectroscopy.py +++ b/src/qibocal/protocols/qubit_power_spectroscopy.py @@ -8,7 +8,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Parameters, Results, Routine diff --git a/src/qibocal/protocols/qubit_spectroscopy.py b/src/qibocal/protocols/qubit_spectroscopy.py index ece3436f0..388be93dd 100644 --- a/src/qibocal/protocols/qubit_spectroscopy.py +++ b/src/qibocal/protocols/qubit_spectroscopy.py @@ -5,7 +5,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Parameters, Results, Routine diff --git a/src/qibocal/protocols/qubit_spectroscopy_ef.py b/src/qibocal/protocols/qubit_spectroscopy_ef.py index 03902a087..825d21a94 100644 --- a/src/qibocal/protocols/qubit_spectroscopy_ef.py +++ b/src/qibocal/protocols/qubit_spectroscopy_ef.py @@ -4,7 +4,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index 702d33cb9..a466520f7 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -6,7 +6,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.result import probability -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Routine diff --git a/src/qibocal/protocols/rabi/amplitude_frequency.py b/src/qibocal/protocols/rabi/amplitude_frequency.py index 1f51c3f3a..2fa5c6140 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency.py @@ -9,7 +9,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine from qibocal.config import log diff --git a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py index 40fe0b554..814f3123d 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py @@ -10,7 +10,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Routine diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 75e415e1a..f0f83079f 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -7,7 +7,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.result import magnitude, phase -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/rabi/ef.py b/src/qibocal/protocols/rabi/ef.py index 451b3d25e..d60baae97 100644 --- a/src/qibocal/protocols/rabi/ef.py +++ b/src/qibocal/protocols/rabi/ef.py @@ -5,7 +5,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index ec3a2ab9d..54ef62b0c 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -7,7 +7,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.result import probability -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Parameters, Routine diff --git a/src/qibocal/protocols/rabi/length_frequency.py b/src/qibocal/protocols/rabi/length_frequency.py index eb6aa687c..a07dbbfc5 100644 --- a/src/qibocal/protocols/rabi/length_frequency.py +++ b/src/qibocal/protocols/rabi/length_frequency.py @@ -9,7 +9,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine from qibocal.config import log diff --git a/src/qibocal/protocols/rabi/length_frequency_signal.py b/src/qibocal/protocols/rabi/length_frequency_signal.py index 0440c3c3d..f89a92eb9 100644 --- a/src/qibocal/protocols/rabi/length_frequency_signal.py +++ b/src/qibocal/protocols/rabi/length_frequency_signal.py @@ -10,7 +10,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Routine diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index 2faa9d02f..a2bfd3438 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -7,7 +7,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.result import magnitude, phase -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/ramsey/ramsey.py b/src/qibocal/protocols/ramsey/ramsey.py index 361554487..91082a4a6 100644 --- a/src/qibocal/protocols/ramsey/ramsey.py +++ b/src/qibocal/protocols/ramsey/ramsey.py @@ -8,7 +8,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine from qibocal.config import log diff --git a/src/qibocal/protocols/ramsey/ramsey_signal.py b/src/qibocal/protocols/ramsey/ramsey_signal.py index febef5b8b..3d2c3477e 100644 --- a/src/qibocal/protocols/ramsey/ramsey_signal.py +++ b/src/qibocal/protocols/ramsey/ramsey_signal.py @@ -8,7 +8,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/resonator_frequency.py b/src/qibocal/protocols/readout_optimization/resonator_frequency.py index e52d46a90..656ce8b43 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_frequency.py +++ b/src/qibocal/protocols/readout_optimization/resonator_frequency.py @@ -8,7 +8,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/resonator_punchout.py b/src/qibocal/protocols/resonator_punchout.py index 570defa06..fa046a3be 100644 --- a/src/qibocal/protocols/resonator_punchout.py +++ b/src/qibocal/protocols/resonator_punchout.py @@ -9,7 +9,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/resonator_punchout_attenuation.py b/src/qibocal/protocols/resonator_punchout_attenuation.py index 1be7914a4..d3d79eca0 100644 --- a/src/qibocal/protocols/resonator_punchout_attenuation.py +++ b/src/qibocal/protocols/resonator_punchout_attenuation.py @@ -9,7 +9,7 @@ from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index afef94002..87a621614 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -9,7 +9,7 @@ from qibolab.platform import Platform from qibolab.result import magnitude, phase from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py index 30f094d3e..eca8043f4 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py @@ -10,7 +10,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py index 6f74f1e18..7f01c611c 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py @@ -7,7 +7,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine diff --git a/src/qibocal/protocols/two_qubit_interaction/optimize.py b/src/qibocal/protocols/two_qubit_interaction/optimize.py index 881afadf2..402db9f10 100644 --- a/src/qibocal/protocols/two_qubit_interaction/optimize.py +++ b/src/qibocal/protocols/two_qubit_interaction/optimize.py @@ -10,7 +10,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py index 814fae98d..d41d32f92 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py @@ -12,7 +12,7 @@ from qibolab.platform import Platform from qibolab.pulses import Pulse from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py index 70194a551..6a7869baf 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py @@ -6,7 +6,7 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper, SweeperType +from qibolab.sweeper import Parameter, Sweeper from qibocal.auto.operation import Routine From 9d11fa36ae971cada0a8de5a2bcc9b09a3dd3c96 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Thu, 29 Aug 2024 01:03:38 +0400 Subject: [PATCH 19/38] chore: drop outdated updates --- src/qibocal/update.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/qibocal/update.py b/src/qibocal/update.py index a172d4bfe..b65bc77c9 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -78,31 +78,33 @@ def crosstalk_matrix( def iq_angle(angle: float, platform: Platform, qubit: QubitId): """Update iq angle value in platform for specific qubit.""" - platform.qubits[qubit].iq_angle = float(angle) + # platform.qubits[qubit].iq_angle = float(angle) + pass def threshold(threshold: float, platform: Platform, qubit: QubitId): - platform.qubits[qubit].threshold = float(threshold) + # platform.qubits[qubit].threshold = float(threshold) + pass def mean_gnd_states(gnd_state: list, platform: Platform, qubit: QubitId): """Update mean ground state value in platform for specific qubit.""" - platform.qubits[qubit].mean_gnd_states = gnd_state + # platform.qubits[qubit].mean_gnd_states = gnd_state def mean_exc_states(exc_state: list, platform: Platform, qubit: QubitId): """Update mean excited state value in platform for specific qubit.""" - platform.qubits[qubit].mean_exc_states = exc_state + # platform.qubits[qubit].mean_exc_states = exc_state def readout_fidelity(fidelity: float, platform: Platform, qubit: QubitId): """Update fidelity of single shot classification.""" - platform.qubits[qubit].readout_fidelity = float(fidelity) + # platform.qubits[qubit].readout_fidelity = float(fidelity) def assignment_fidelity(fidelity: float, platform: Platform, qubit: QubitId): """Update fidelity of single shot classification.""" - platform.qubits[qubit].assignment_fidelity = float(fidelity) + # platform.qubits[qubit].assignment_fidelity = float(fidelity) def virtual_phases( From 695fbafb06ad65e67f4c44d3f3e5260040aa9f91 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Thu, 29 Aug 2024 01:04:00 +0400 Subject: [PATCH 20/38] chore: drop sweeper type from rabi --- src/qibocal/protocols/rabi/amplitude.py | 1 - src/qibocal/protocols/rabi/amplitude_signal.py | 1 - src/qibocal/protocols/rabi/length.py | 2 -- src/qibocal/protocols/rabi/length_signal.py | 1 - 4 files changed, 5 deletions(-) diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index a466520f7..3441c362e 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -68,7 +68,6 @@ def _acquisition( Parameter.amplitude, qd_pulse_amplitude_range, [qd_pulses[qubit] for qubit in targets], - type=SweeperType.FACTOR, ) data = RabiAmplitudeData(durations=durations) diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index f0f83079f..495c10b2d 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -84,7 +84,6 @@ def _acquisition( Parameter.amplitude, qd_pulse_amplitude_range, [qd_pulses[qubit] for qubit in targets], - type=SweeperType.FACTOR, ) data = RabiAmplitudeSignalData(durations=durations) diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index 54ef62b0c..3e4073b8a 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -83,14 +83,12 @@ def _acquisition( Parameter.duration_interpolated, qd_pulse_duration_range, [qd_pulses[q] for q in targets], - type=SweeperType.ABSOLUTE, ) else: sweeper = Sweeper( Parameter.duration, qd_pulse_duration_range, [qd_pulses[q] for q in targets] + [delays[q] for q in targets], - type=SweeperType.ABSOLUTE, ) data = RabiLengthData(amplitudes=amplitudes) diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index a2bfd3438..5eb8339e3 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -90,7 +90,6 @@ def _acquisition( ), qd_pulse_duration_range, [qd_pulses[q] for q in targets] + [delays[q] for q in targets], - type=SweeperType.ABSOLUTE, ) data = RabiLengthSignalData(amplitudes=amplitudes) From 1c558b45158bc6cdd3083eeb05e82afc08bc1fb1 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Sun, 1 Sep 2024 02:29:06 +0400 Subject: [PATCH 21/38] chore: convert Rabi amplitude to absolute sweeper --- src/qibocal/protocols/rabi/amplitude.py | 16 ++++------- .../protocols/rabi/amplitude_signal.py | 27 +++++++------------ 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index 3441c362e..31e72ae82 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -57,17 +57,11 @@ def _acquisition( sequence, qd_pulses, ro_pulses, durations = utils.sequence_amplitude( targets, params, platform ) - # define the parameter to sweep and its range: - # qubit drive pulse amplitude - qd_pulse_amplitude_range = np.arange( - params.min_amp_factor, - params.max_amp_factor, - params.step_amp_factor, - ) + sweeper = Sweeper( - Parameter.amplitude, - qd_pulse_amplitude_range, - [qd_pulses[qubit] for qubit in targets], + parameter=Parameter.amplitude, + range=(params.min_amp, params.max_amp, params.step_amp), + pulses=[qd_pulses[qubit] for qubit in targets], ) data = RabiAmplitudeData(durations=durations) @@ -89,7 +83,7 @@ def _acquisition( RabiAmpType, (qubit), dict( - amp=qd_pulses[qubit].amplitude * qd_pulse_amplitude_range, + amp=sweeper.values, prob=prob.tolist(), error=np.sqrt(prob * (1 - prob) / params.nshots).tolist(), ), diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 495c10b2d..5bc9236f9 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -21,12 +21,12 @@ class RabiAmplitudeSignalParameters(Parameters): """RabiAmplitude runcard inputs.""" - min_amp_factor: float - """Minimum amplitude multiplicative factor.""" - max_amp_factor: float - """Maximum amplitude multiplicative factor.""" - step_amp_factor: float - """Step amplitude multiplicative factor.""" + min_amp: float + """Minimum amplitude.""" + max_amp: float + """Maximum amplitude.""" + step_amp: float + """Step amplitude.""" pulse_length: Optional[float] = None """RX pulse duration [ns].""" @@ -73,17 +73,10 @@ def _acquisition( targets, params, platform ) - # define the parameter to sweep and its range: - # qubit drive pulse amplitude - qd_pulse_amplitude_range = np.arange( - params.min_amp_factor, - params.max_amp_factor, - params.step_amp_factor, - ) sweeper = Sweeper( - Parameter.amplitude, - qd_pulse_amplitude_range, - [qd_pulses[qubit] for qubit in targets], + parameter=Parameter.amplitude, + range=(params.min_amp, params.max_amp, params.step_amp), + pulses=[qd_pulses[qubit] for qubit in targets], ) data = RabiAmplitudeSignalData(durations=durations) @@ -105,7 +98,7 @@ def _acquisition( RabiAmpSignalType, (qubit), dict( - amp=qd_pulses[qubit].amplitude * qd_pulse_amplitude_range, + amp=sweeper.values, signal=magnitude(result), phase=phase(result), ), From c852f5a09829dc97981fe6ce22939bda8b9ed82a Mon Sep 17 00:00:00 2001 From: Alessandro Candido Date: Mon, 26 Aug 2024 13:19:15 +0200 Subject: [PATCH 22/38] fix: Update channel names retrieval in classification --- src/qibocal/protocols/classification.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 1918780a0..868a83fcd 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -41,14 +41,19 @@ class SingleShotClassificationParameters(Parameters): """SingleShotClassification runcard inputs.""" unrolling: bool = False - """If ``True`` it uses sequence unrolling to deploy multiple sequences in a single instrument call. - Defaults to ``False``.""" + """Whether to unroll the sequences. + + If ``True`` it uses sequence unrolling to deploy multiple sequences in a + single instrument call. + + Defaults to ``False``. + """ classifiers_list: Optional[list[str]] = field( default_factory=lambda: [DEFAULT_CLASSIFIER] ) - """List of models to classify the qubit states""" + """List of models to classify the qubit states.""" savedir: Optional[str] = " " - """Dumping folder of the classification results""" + """Dumping folder of the classification results.""" ClassificationType = np.dtype([("i", np.float64), ("q", np.float64), ("state", int)]) @@ -60,7 +65,7 @@ class SingleShotClassificationData(Data): nshots: int """Number of shots.""" savedir: str - """Dumping folder of the classification results""" + """Dumping folder of the classification results.""" qubit_frequencies: dict[QubitId, float] = field(default_factory=dict) """Qubit frequencies.""" data: dict[QubitId, npt.NDArray] = field(default_factory=dict) @@ -68,7 +73,7 @@ class SingleShotClassificationData(Data): classifiers_list: Optional[list[str]] = field( default_factory=lambda: [DEFAULT_CLASSIFIER] ) - """List of models to classify the qubit states""" + """List of models to classify the qubit states.""" @dataclass @@ -111,8 +116,8 @@ class SingleShotClassificationResults(Results): def __contains__(self, key: QubitId): """Checking if key is in Results. - Overwritten because classifiers_hpars is empty when running - the default_classifier. + Overwritten because classifiers_hpars is empty when running the + default_classifier. """ return all( key in getattr(self, field.name) @@ -192,7 +197,7 @@ def _acquisition( sequence.extend(rx_sequence) qubit = platform.qubits[q] - sequence.append((qubit.probe.name, Delay(duration=rx_sequence.duration))) + sequence.append((qubit.probe, Delay(duration=rx_sequence.duration))) sequence.extend(ro_sequence) ro_pulses[q] = ro_sequence[1][1].id @@ -202,7 +207,7 @@ def _acquisition( data = SingleShotClassificationData( nshots=params.nshots, qubit_frequencies={ - qubit: platform.config(str(platform.qubits[qubit].drive.name)).frequency + qubit: platform.config(platform.qubits[qubit].drive).frequency for qubit in targets }, classifiers_list=params.classifiers_list, From 7a0b147966fa1cdbae291104aac89abafca9ebc1 Mon Sep 17 00:00:00 2001 From: Alessandro Candido Date: Mon, 26 Aug 2024 15:17:32 +0200 Subject: [PATCH 23/38] fix: Use readout id, not acquisition --- src/qibocal/protocols/classification.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 868a83fcd..c1cf788b5 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -199,7 +199,7 @@ def _acquisition( qubit = platform.qubits[q] sequence.append((qubit.probe, Delay(duration=rx_sequence.duration))) sequence.extend(ro_sequence) - ro_pulses[q] = ro_sequence[1][1].id + ro_pulses[q] = ro_sequence[0][1].id sequences.append(sequence) all_ro_pulses.append(ro_pulses) From ad8fa48921ed68bac598a5d582a4f77d3fc27965 Mon Sep 17 00:00:00 2001 From: Alessandro Candido Date: Fri, 30 Aug 2024 20:34:47 +0200 Subject: [PATCH 24/38] fix: Add delays on acquisition in classification --- src/qibocal/protocols/classification.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index c1cf788b5..dcad57a0b 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -197,7 +197,7 @@ def _acquisition( sequence.extend(rx_sequence) qubit = platform.qubits[q] - sequence.append((qubit.probe, Delay(duration=rx_sequence.duration))) + sequence.append((qubit.acquisition, Delay(duration=rx_sequence.duration))) sequence.extend(ro_sequence) ro_pulses[q] = ro_sequence[0][1].id From 8ea41f7c314f8498f6dbbb1c1218f4c7bab5eece Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Sun, 1 Sep 2024 02:53:07 +0400 Subject: [PATCH 25/38] chore: update Rabi routines --- src/qibocal/protocols/rabi/length.py | 19 ++++++-------- src/qibocal/protocols/rabi/length_signal.py | 28 ++++++++++----------- src/qibocal/protocols/rabi/utils.py | 14 +++++------ 3 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index 3e4073b8a..97197f5ab 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -70,25 +70,22 @@ def _acquisition( sequence, qd_pulses, delays, ro_pulses, amplitudes = utils.sequence_length( targets, params, platform, use_align=params.interpolated_sweeper ) - # define the parameter to sweep and its range: - # qubit drive pulse duration time - qd_pulse_duration_range = np.arange( + sweep_range = ( params.pulse_duration_start, params.pulse_duration_end, params.pulse_duration_step, ) - if params.interpolated_sweeper: sweeper = Sweeper( - Parameter.duration_interpolated, - qd_pulse_duration_range, - [qd_pulses[q] for q in targets], + parameter=Parameter.duration_interpolated, + range=sweep_range, + pulses=[qd_pulses[q] for q in targets], ) else: sweeper = Sweeper( - Parameter.duration, - qd_pulse_duration_range, - [qd_pulses[q] for q in targets] + [delays[q] for q in targets], + parameter=Parameter.duration, + range=sweep_range, + pulses=[qd_pulses[q] for q in targets] + [delays[q] for q in targets], ) data = RabiLengthData(amplitudes=amplitudes) @@ -111,7 +108,7 @@ def _acquisition( RabiLenType, (q), dict( - length=qd_pulse_duration_range, + length=sweeper.values, prob=prob, error=np.sqrt(prob * (1 - prob) / params.nshots).tolist(), ), diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index 5eb8339e3..8d533bbdc 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -73,24 +73,24 @@ def _acquisition( sequence, qd_pulses, delays, ro_pulses, amplitudes = utils.sequence_length( targets, params, platform ) - - # define the parameter to sweep and its range: - # qubit drive pulse duration time - qd_pulse_duration_range = np.arange( + sweep_range = ( params.pulse_duration_start, params.pulse_duration_end, params.pulse_duration_step, ) + if params.interpolated_sweeper: + sweeper = Sweeper( + parameter=Parameter.duration_interpolated, + range=sweep_range, + pulses=[qd_pulses[q] for q in targets], + ) + else: + sweeper = Sweeper( + parameter=Parameter.duration, + range=sweep_range, + pulses=[qd_pulses[q] for q in targets] + [delays[q] for q in targets], + ) - sweeper = Sweeper( - ( - Parameter.duration_interpolated - if params.interpolated_sweeper - else Parameter.duration - ), - qd_pulse_duration_range, - [qd_pulses[q] for q in targets] + [delays[q] for q in targets], - ) data = RabiLengthSignalData(amplitudes=amplitudes) # execute the sweep @@ -111,7 +111,7 @@ def _acquisition( RabiLenSignalType, (q), dict( - length=qd_pulse_duration_range, + length=sweeper.values, signal=magnitude(result), phase=phase(result), ), diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index dca866f7a..b1f559b9e 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -242,11 +242,11 @@ def sequence_amplitude( qd_pulses[q].duration = params.pulse_length durations[q] = qd_pulses[q].duration - ro_pulses[q] = ro_sequence[1][1] + ro_pulses[q] = ro_sequence[0][1] qubit = platform.qubits[q] - sequence.append((qubit.drive.name, qd_pulses[q])) - sequence.append((qubit.probe.name, Delay(duration=durations[q]))) + sequence.append((qubit.drive, qd_pulses[q])) + sequence.append((qubit.acquisition, Delay(duration=durations[q]))) sequence.extend(ro_sequence) return sequence, qd_pulses, ro_pulses, durations @@ -273,14 +273,14 @@ def sequence_length( qd_pulses[q].amplitude = params.pulse_amplitude amplitudes[q] = qd_pulses[q].amplitude - ro_pulses[q] = ro_sequence[1][1] + ro_pulses[q] = ro_sequence[0][1] qubit = platform.qubits[q] - sequence.append((qubit.drive.name, qd_pulses[q])) + sequence.append((qubit.drive, qd_pulses[q])) if use_align: - sequence.align([qubit.drive.name, qubit.probe.name]) + sequence.align([qubit.drive, qubit.acquisition]) else: delays[q] = Delay(duration=16) - sequence.append((qubit.probe.name, delays[q])) + sequence.append((qubit.acquisition, delays[q])) sequence.extend(ro_sequence) return sequence, qd_pulses, delays, ro_pulses, amplitudes From b67c150530dcd9d7e62103f716d6408584e15e6f Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:03:52 +0400 Subject: [PATCH 26/38] chore: update resonator spectroscopy --- .../protocols/resonator_spectroscopy.py | 35 +++++++++++-------- src/qibocal/update.py | 24 ++++++------- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index 87a621614..698811ba8 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -186,20 +186,21 @@ def _acquisition( attenuations = {} for q in targets: - qubit = platform.qubits[q] - ro_sequence = qubit.native_gates.MZ.create_sequence() + natives = platform.natives.single_qubit[q] + ro_sequence = natives.MZ.create_sequence() ro_pulses[q] = ro_sequence[0][1] if params.amplitude is not None: ro_pulses[q].amplitude = params.amplitude - amplitudes[q] = ro_pulses[q].amplitude + amplitudes[q] = ro_pulses[q].probe.amplitude if params.attenuation is not None: + raise NotImplementedError platform.qubits[q].readout.attenuation = params.attenuation try: - attenuation = platform.qubits[q].readout.attenuation + attenuation = platform.config(platform.qubits[q].probe).attenuation except AttributeError: attenuation = None @@ -210,12 +211,16 @@ def _acquisition( delta_frequency_range = np.arange( -params.freq_width / 2, params.freq_width / 2, params.freq_step ) - sweeper = Sweeper( - Parameter.frequency, - delta_frequency_range, - channels=[platform.qubits[q].probe for q in targets], - type=SweeperType.OFFSET, - ) + sweepers = [ + Sweeper( + parameter=Parameter.frequency, + values=platform.config(platform.qubits[q].probe).frequency + + delta_frequency_range, + channels=[platform.qubits[q].probe], + ) + for q in targets + ] + data = ResonatorSpectroscopyData( resonator_type=platform.resonator_type, power_level=params.power_level, @@ -228,17 +233,17 @@ def _acquisition( results = platform.execute( [sequence], params.execution_parameters, - [[sweeper]], + [sweepers], ) # retrieve the results for every qubit - for qubit in targets: - result = results[ro_pulses[qubit].id][0] + for q in targets: + result = results[ro_pulses[q].id][0] # store the results - ro_frequency = platform.config(platform.qubits[qubit].probe.name).frequency + ro_frequency = platform.config(platform.qubits[q].probe).frequency data.register_qubit( ResSpecType, - (qubit), + (q), dict( signal=magnitude(result), phase=phase(result), diff --git a/src/qibocal/update.py b/src/qibocal/update.py index b65bc77c9..7f2eb7524 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -19,38 +19,38 @@ def readout_frequency(freq: float, platform: Platform, qubit: QubitId): """Update readout frequency value in platform for specific qubit.""" - mz = platform.qubits[qubit].native_gates.MZ - freq_hz = int(freq) - mz.frequency = freq_hz + # mz = platform.qubits[qubit].native_gates.MZ + # freq_hz = int(freq) + # mz.frequency = freq_hz # if mz.if_frequency is not None: # mz.if_frequency = freq_hz - platform.qubits[qubit].readout.lo_frequency - platform.qubits[qubit].readout_frequency = freq_hz + # platform.qubits[qubit].readout_frequency = freq_hz def bare_resonator_frequency(freq: float, platform: Platform, qubit: QubitId): """Update rbare frequency value in platform for specific qubit.""" - platform.qubits[qubit].bare_resonator_frequency = int(freq) + # platform.qubits[qubit].bare_resonator_frequency = int(freq) def readout_amplitude(amp: float, platform: Platform, qubit: QubitId): """Update readout amplitude value in platform for specific qubit.""" - platform.natives.single_qubit[qubit].MZ.amplitude = float(amp) + # platform.natives.single_qubit[qubit].MZ.amplitude = float(amp) def readout_attenuation(att: int, platform: Platform, qubit: QubitId): """Update readout attenuation value in platform for specific qubit.""" - platform.qubits[qubit].readout.attenuation = int(att) + # platform.qubits[qubit].readout.attenuation = int(att) def drive_frequency( freq: Union[float, tuple, list], platform: Platform, qubit: QubitId ): """Update drive frequency value in platform for specific qubit.""" - if isinstance(freq, Iterable): - freq = freq[0] - freq = int(freq) - platform.qubits[qubit].native_gates.RX.frequency = int(freq) - platform.qubits[qubit].drive_frequency = int(freq) + # if isinstance(freq, Iterable): + # freq = freq[0] + # freq = int(freq) + # platform.qubits[qubit].native_gates.RX.frequency = int(freq) + # platform.qubits[qubit].drive_frequency = int(freq) def drive_amplitude(amp: Union[float, tuple, list], platform: Platform, qubit: QubitId): From 99723d0dabcc05d6755f14cfd6dba9ab667b5c48 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 3 Sep 2024 19:47:25 +0400 Subject: [PATCH 27/38] chore: update for new result structure --- src/qibocal/protocols/classification.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index dcad57a0b..babf6be61 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -223,15 +223,14 @@ def _acquisition( if params.unrolling: results = platform.execute(sequences, options) else: - results = [platform.execute([sequence], options) for sequence in sequences] + results = {} + for sequence in sequences: + results.update(platform.execute([sequence], options)) - for ig, (state, ro_pulses) in enumerate(zip([0, 1], all_ro_pulses)): + for state, ro_pulses in zip([0, 1], all_ro_pulses): for qubit in targets: serial = ro_pulses[qubit] - if params.unrolling: - result = results[serial][0][ig] - else: - result = results[ig][serial][0] + result = results[serial] data.register_qubit( ClassificationType, (qubit), From cceb5fb6278459ece9ed19263bdc590684f91f67 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Tue, 3 Sep 2024 19:47:45 +0400 Subject: [PATCH 28/38] chore: move result manipulation functions from qibolab --- src/qibocal/protocols/rabi/amplitude.py | 4 +- .../protocols/rabi/amplitude_signal.py | 4 +- src/qibocal/protocols/rabi/length.py | 2 +- src/qibocal/protocols/rabi/length_signal.py | 2 +- src/qibocal/result.py | 88 +++++++++++++++++++ 5 files changed, 94 insertions(+), 6 deletions(-) create mode 100644 src/qibocal/result.py diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index 31e72ae82..afd53b6ff 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -5,12 +5,12 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.result import probability from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Routine from qibocal.config import log +from qibocal.result import probability from ..utils import chi2_reduced, fallback_period, guess_period from . import utils @@ -78,7 +78,7 @@ def _acquisition( [[sweeper]], ) for qubit in targets: - prob = probability(results[ro_pulses[qubit].id][0], state=1) + prob = probability(results[ro_pulses[qubit].id], state=1) data.register_qubit( RabiAmpType, (qubit), diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 5bc9236f9..8822da180 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -6,13 +6,13 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.result import magnitude, phase from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine from qibocal.config import log from qibocal.protocols.utils import fallback_period, guess_period +from qibocal.result import magnitude, phase from . import utils @@ -93,7 +93,7 @@ def _acquisition( [[sweeper]], ) for qubit in targets: - result = results[ro_pulses[qubit].id][0] + result = results[ro_pulses[qubit].id] data.register_qubit( RabiAmpSignalType, (qubit), diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index 97197f5ab..30107701a 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -6,7 +6,6 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.result import probability from qibolab.sweeper import Parameter, Sweeper from qibocal import update @@ -16,6 +15,7 @@ RabiLengthSignalData, RabiLengthSignalResults, ) +from qibocal.result import probability from ..utils import chi2_reduced, fallback_period, guess_period from . import utils diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index 8d533bbdc..bc1c22708 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -6,13 +6,13 @@ from qibolab import AcquisitionType, AveragingMode, ExecutionParameters from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.result import magnitude, phase from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine from qibocal.config import log from qibocal.protocols.utils import fallback_period, guess_period +from qibocal.result import magnitude, phase from . import utils diff --git a/src/qibocal/result.py b/src/qibocal/result.py new file mode 100644 index 000000000..675b8091e --- /dev/null +++ b/src/qibocal/result.py @@ -0,0 +1,88 @@ +"""Common result operations.""" + +import numpy as np +import numpy.typing as npt + +IQ = npt.NDArray[np.float64] +"""An array of I and Q values. + +It is assumed that the I and Q component are discriminated by the +innermost dimension of the array. +""" + + +def _lift(values: IQ) -> npt.NDArray: + """Transpose the innermost dimension to the outermost.""" + return np.moveaxis(values, -1, 0) + + +def _sink(values: npt.NDArray) -> IQ: + """Transpose the outermost dimension to the innermost. + + Inverse of :func:`_lift`. + """ + return np.moveaxis(values, 0, -1) + + +def collect(i: npt.NDArray, q: npt.NDArray) -> IQ: + """Collect I and Q components in a single array.""" + return _sink(np.stack([i, q])) + + +def unpack(iq: IQ) -> tuple[npt.NDArray, npt.NDArray]: + """Unpack I and Q components from single array. + + Inverse of :func:`collect`. + """ + i, q = tuple(_lift(iq)) + return i, q + + +def magnitude(iq: IQ): + """Signal magnitude. + + It is supposed to be a tension, possibly in arbitrary units. + """ + iq_ = _lift(iq) + return np.sqrt(iq_[0] ** 2 + iq_[1] ** 2) + + +def average(values: npt.NDArray) -> tuple[npt.NDArray, npt.NDArray]: + """Perform the values average. + + It returns both the average estimator itself, and its standard + deviation estimator. + + Use this also for I and Q values in the *standard layout*, cf. :class:`IQ`. + """ + mean = np.mean(values, axis=0) + std = np.std(values, axis=0, ddof=1) / np.sqrt(values.shape[0]) + return mean, std + + +def average_iq(i: npt.NDArray, q: npt.NDArray) -> tuple[npt.NDArray, npt.NDArray]: + """Perform the average over I and Q. + + Convenience wrapper over :func:`average` for separate i and q samples arrays. + """ + return average(collect(i, q)) + + +def phase(iq: npt.NDArray): + """Signal phase in radians. + + It is assumed that the I and Q component are discriminated by the + innermost dimension of the array. + """ + iq_ = _lift(iq) + return np.unwrap(np.arctan2(iq_[0], iq_[1])) + + +def probability(values: npt.NDArray, state: int = 0): + """Return the statistical frequency of the specified state. + + The only accepted values `state` are `0` and `1`. + """ + # The absolute value is only needed to make sure the result is always positive, even + # when extremely close to zero + return abs(1 - state - np.mean(values, axis=0)) From 6c0ee02948005c07b06b04a5c29d0cd6f8a0f5e8 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Mon, 9 Sep 2024 18:08:09 +0400 Subject: [PATCH 29/38] chore: update resonator spectroscopy after moving results to qibocal --- src/qibocal/protocols/resonator_spectroscopy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index 698811ba8..df94e6021 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -7,12 +7,12 @@ from _collections_abc import Callable from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibolab.result import magnitude, phase from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.result import magnitude, phase from .utils import ( PowerLevel, From 9fe167e145cb7ffc5d33ab5bdc038cf4817ab529 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Fri, 13 Sep 2024 16:30:08 +0400 Subject: [PATCH 30/38] fix: Rabi length for new result shapes --- src/qibocal/protocols/rabi/length.py | 2 +- src/qibocal/protocols/rabi/length_signal.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index 30107701a..80cf6f238 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -103,7 +103,7 @@ def _acquisition( ) for q in targets: - prob = probability(results[ro_pulses[q].id][0], state=1) + prob = probability(results[ro_pulses[q].id], state=1) data.register_qubit( RabiLenType, (q), diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index bc1c22708..90f82820e 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -106,7 +106,7 @@ def _acquisition( ) for q in targets: - result = results[ro_pulses[q].id][0] + result = results[ro_pulses[q].id] data.register_qubit( RabiLenSignalType, (q), From 4c9292960f5b1094b358a6a2619da41f8e03b259 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Wed, 18 Sep 2024 18:56:52 +0400 Subject: [PATCH 31/38] chore: move QubitId and QubitPairId to qibocal --- doc/source/tutorials/advanced.rst | 8 ++++---- src/qibocal/auto/operation.py | 4 +++- src/qibocal/auto/task.py | 3 ++- src/qibocal/auto/transpile.py | 3 ++- src/qibocal/cli/report.py | 2 +- src/qibocal/fitting/classifier/run.py | 3 ++- src/qibocal/protocols/allxy/allxy.py | 3 +-- src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py | 3 +-- .../allxy/allxy_resonator_depletion_tuning.py | 3 +-- src/qibocal/protocols/classification.py | 10 ++++++++-- src/qibocal/protocols/coherence/spin_echo.py | 3 +-- src/qibocal/protocols/coherence/spin_echo_signal.py | 3 +-- src/qibocal/protocols/coherence/t1.py | 3 +-- src/qibocal/protocols/coherence/t1_sequences.py | 3 +-- src/qibocal/protocols/coherence/t1_signal.py | 3 +-- src/qibocal/protocols/coherence/t2.py | 3 +-- src/qibocal/protocols/coherence/t2_sequences.py | 3 +-- src/qibocal/protocols/coherence/t2_signal.py | 3 +-- src/qibocal/protocols/coherence/zeno.py | 3 +-- src/qibocal/protocols/coherence/zeno_signal.py | 3 +-- src/qibocal/protocols/couplers/coupler_chevron.py | 3 +-- .../protocols/couplers/coupler_qubit_spectroscopy.py | 3 +-- .../couplers/coupler_resonator_spectroscopy.py | 3 +-- src/qibocal/protocols/couplers/utils.py | 3 +-- src/qibocal/protocols/dispersive_shift.py | 3 +-- src/qibocal/protocols/dispersive_shift_qutrit.py | 3 +-- src/qibocal/protocols/drag.py | 3 +-- src/qibocal/protocols/fast_reset/fast_reset.py | 3 +-- src/qibocal/protocols/flipping.py | 3 +-- src/qibocal/protocols/flipping_signal.py | 3 +-- .../protocols/flux_dependence/avoided_crossing.py | 3 +-- .../protocols/flux_dependence/qubit_crosstalk.py | 3 +-- .../protocols/flux_dependence/qubit_flux_dependence.py | 3 +-- .../protocols/flux_dependence/qubit_flux_tracking.py | 3 +-- .../protocols/flux_dependence/resonator_crosstalk.py | 3 +-- .../flux_dependence/resonator_flux_dependence.py | 3 +-- src/qibocal/protocols/flux_dependence/utils.py | 3 ++- src/qibocal/protocols/qubit_power_spectroscopy.py | 3 +-- src/qibocal/protocols/qubit_spectroscopy.py | 3 +-- src/qibocal/protocols/qubit_spectroscopy_ef.py | 3 +-- src/qibocal/protocols/qutrit_classification.py | 3 +-- src/qibocal/protocols/rabi/amplitude.py | 3 +-- src/qibocal/protocols/rabi/amplitude_frequency.py | 3 +-- .../protocols/rabi/amplitude_frequency_signal.py | 3 +-- src/qibocal/protocols/rabi/amplitude_signal.py | 3 +-- src/qibocal/protocols/rabi/ef.py | 3 +-- src/qibocal/protocols/rabi/length.py | 3 +-- src/qibocal/protocols/rabi/length_frequency.py | 3 +-- src/qibocal/protocols/rabi/length_frequency_signal.py | 3 +-- src/qibocal/protocols/rabi/length_sequences.py | 3 +-- src/qibocal/protocols/rabi/length_signal.py | 3 +-- src/qibocal/protocols/rabi/utils.py | 3 +-- src/qibocal/protocols/ramsey/ramsey.py | 3 +-- src/qibocal/protocols/ramsey/ramsey_signal.py | 3 +-- src/qibocal/protocols/ramsey/utils.py | 2 +- .../protocols/randomized_benchmarking/filtered_rb.py | 3 +-- .../protocols/randomized_benchmarking/standard_rb.py | 3 +-- .../randomized_benchmarking/standard_rb_2q.py | 3 +-- .../randomized_benchmarking/standard_rb_2q_inter.py | 3 +-- src/qibocal/protocols/randomized_benchmarking/utils.py | 3 +-- src/qibocal/protocols/readout_characterization.py | 3 +-- src/qibocal/protocols/readout_mitigation_matrix.py | 3 +-- .../readout_optimization/resonator_amplitude.py | 3 +-- .../readout_optimization/resonator_frequency.py | 3 +-- .../readout_optimization/twpa_calibration/frequency.py | 3 +-- .../twpa_calibration/frequency_SNR.py | 3 +-- .../twpa_calibration/frequency_power.py | 3 +-- .../readout_optimization/twpa_calibration/power.py | 3 +-- .../readout_optimization/twpa_calibration/power_SNR.py | 3 +-- src/qibocal/protocols/resonator_punchout.py | 3 +-- .../protocols/resonator_punchout_attenuation.py | 3 +-- src/qibocal/protocols/resonator_spectroscopy.py | 3 +-- .../calibrate_state_discrimination.py | 3 +-- .../signal_experiments/time_of_flight_readout.py | 3 +-- src/qibocal/protocols/state_tomography.py | 3 +-- .../protocols/two_qubit_interaction/chevron/chevron.py | 3 +-- .../two_qubit_interaction/chevron/chevron_signal.py | 3 +-- .../protocols/two_qubit_interaction/chevron/utils.py | 3 ++- .../protocols/two_qubit_interaction/chsh/protocol.py | 10 ++++++++-- .../protocols/two_qubit_interaction/optimize.py | 10 ++++++++-- src/qibocal/protocols/two_qubit_interaction/utils.py | 3 ++- .../two_qubit_interaction/virtual_z_phases.py | 10 ++++++++-- .../two_qubit_interaction/virtual_z_phases_signal.py | 3 +-- src/qibocal/protocols/two_qubit_state_tomography.py | 10 ++++++++-- src/qibocal/protocols/utils.py | 3 +-- src/qibocal/update.py | 3 ++- src/qibocal/web/compared_report.py | 2 +- tests/test_executor.py | 3 +-- 88 files changed, 135 insertions(+), 167 deletions(-) diff --git a/doc/source/tutorials/advanced.rst b/doc/source/tutorials/advanced.rst index 2838542ac..2753e6f82 100644 --- a/doc/source/tutorials/advanced.rst +++ b/doc/source/tutorials/advanced.rst @@ -191,7 +191,7 @@ In the acquisition function we are going to perform the experiment. .. code-block:: python from qibolab.platform import Platform - from qibolab.identifier import QubitId, QubitPairId + from qibocal.auto.operation import QubitId, QubitPairId from typing import Union def acquisition(params: RoutineParameters, platform: Platform, targets: Union[list[QubitId], list[QubitPairId], list[list[QubitId]]]) -> RoutineData @@ -201,7 +201,7 @@ In the acquisition function we are going to perform the experiment. .. code-block:: python from qibolab.platform import Platform - from qibolab.identifier import QubitId + from qibocal.auto.operation import QubitId def acquisition( params: RotationParameters, @@ -252,7 +252,7 @@ parameters for each qubit. .. code-block:: python - from qibolab.identifier import QubitId + from qibocal.auto.operation import QubitId @dataclass class RotationResults(Results): @@ -344,7 +344,7 @@ Here is the plotting function for the protocol that we are coding: .. code-block:: python import plotly.graph_objects as go - from qibolab.identifier import QubitId + from qibocal.auto.operation import QubitId def plot(data: RotationData, fit: RotationResults, target: QubitId): """Plotting function for rotation.""" diff --git a/src/qibocal/auto/operation.py b/src/qibocal/auto/operation.py index aa19e9ab4..12372dad6 100644 --- a/src/qibocal/auto/operation.py +++ b/src/qibocal/auto/operation.py @@ -10,7 +10,6 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform from qibolab.qubits import Qubit @@ -18,6 +17,9 @@ from .serialize import deserialize, load, serialize +QubitId = Union[str, int] +QubitPairId = tuple[QubitId, QubitId] + OperationId = NewType("OperationId", str) """Identifier for a calibration routine.""" ParameterValue = Union[float, int] diff --git a/src/qibocal/auto/task.py b/src/qibocal/auto/task.py index e6104b7b2..0f3d7aa75 100644 --- a/src/qibocal/auto/task.py +++ b/src/qibocal/auto/task.py @@ -6,9 +6,10 @@ from typing import Any, NewType, Optional, Union import yaml -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform +from qibocal.auto.operation import QubitId, QubitPairId + from .. import protocols from ..config import log from .mode import ExecutionMode diff --git a/src/qibocal/auto/transpile.py b/src/qibocal/auto/transpile.py index ae391c5fa..c971b8515 100644 --- a/src/qibocal/auto/transpile.py +++ b/src/qibocal/auto/transpile.py @@ -4,7 +4,8 @@ from qibo.backends.abstract import Backend from qibo.transpiler.pipeline import Passes from qibo.transpiler.unroller import NativeGates, Unroller -from qibolab.identifier import QubitId + +from qibocal.auto.operation import QubitId def transpile_circuits( diff --git a/src/qibocal/cli/report.py b/src/qibocal/cli/report.py index 0623ecd05..a31b93b77 100644 --- a/src/qibocal/cli/report.py +++ b/src/qibocal/cli/report.py @@ -4,9 +4,9 @@ import plotly.graph_objects as go from jinja2 import Environment, FileSystemLoader -from qibolab.identifier import QubitId, QubitPairId from qibocal.auto.history import History +from qibocal.auto.operation import QubitId, QubitPairId from qibocal.auto.output import Output from qibocal.auto.task import Completed from qibocal.config import log diff --git a/src/qibocal/fitting/classifier/run.py b/src/qibocal/fitting/classifier/run.py index 83991355b..0af4f2191 100644 --- a/src/qibocal/fitting/classifier/run.py +++ b/src/qibocal/fitting/classifier/run.py @@ -8,9 +8,10 @@ import numpy as np import pandas as pd -from qibolab.identifier import QubitId from sklearn.metrics import accuracy_score +from qibocal.auto.operation import QubitId + from . import data CLS_MODULES = [ diff --git a/src/qibocal/protocols/allxy/allxy.py b/src/qibocal/protocols/allxy/allxy.py index f3a178b8b..be3f1b49a 100644 --- a/src/qibocal/protocols/allxy/allxy.py +++ b/src/qibocal/protocols/allxy/allxy.py @@ -4,11 +4,10 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine @dataclass diff --git a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py index 33dcdace7..e51050a1c 100644 --- a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py @@ -5,11 +5,10 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from . import allxy diff --git a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py index 807875274..9f5542c15 100644 --- a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py @@ -5,11 +5,10 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from . import allxy diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index babf6be61..513c0f2bd 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -8,14 +8,20 @@ import pandas as pd import plotly.graph_objects as go from qibolab import AcquisitionType, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.pulses import Delay from qibolab.sequence import PulseSequence from sklearn.metrics import roc_auc_score, roc_curve from qibocal import update -from qibocal.auto.operation import RESULTSFILE, Data, Parameters, Results, Routine +from qibocal.auto.operation import ( + RESULTSFILE, + Data, + Parameters, + QubitId, + Results, + Routine, +) from qibocal.auto.serialize import serialize from qibocal.fitting.classifier import run from qibocal.protocols.utils import ( diff --git a/src/qibocal/protocols/coherence/spin_echo.py b/src/qibocal/protocols/coherence/spin_echo.py index 57d678f8f..67ca46de2 100644 --- a/src/qibocal/protocols/coherence/spin_echo.py +++ b/src/qibocal/protocols/coherence/spin_echo.py @@ -5,11 +5,10 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from ..utils import table_dict, table_html from . import t1 diff --git a/src/qibocal/protocols/coherence/spin_echo_signal.py b/src/qibocal/protocols/coherence/spin_echo_signal.py index 0116ba955..c713b0e17 100644 --- a/src/qibocal/protocols/coherence/spin_echo_signal.py +++ b/src/qibocal/protocols/coherence/spin_echo_signal.py @@ -5,12 +5,11 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibocal import update -from qibocal.auto.operation import Parameters, Results, Routine +from qibocal.auto.operation import Parameters, QubitId, Results, Routine from ..utils import table_dict, table_html from .t1_signal import T1SignalData diff --git a/src/qibocal/protocols/coherence/t1.py b/src/qibocal/protocols/coherence/t1.py index 26f72964e..80e5f6540 100644 --- a/src/qibocal/protocols/coherence/t1.py +++ b/src/qibocal/protocols/coherence/t1.py @@ -5,12 +5,11 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Data, Routine +from qibocal.auto.operation import Data, QubitId, Routine from ..utils import table_dict, table_html from . import t1_signal, utils diff --git a/src/qibocal/protocols/coherence/t1_sequences.py b/src/qibocal/protocols/coherence/t1_sequences.py index b7529f47e..e706ab23d 100644 --- a/src/qibocal/protocols/coherence/t1_sequences.py +++ b/src/qibocal/protocols/coherence/t1_sequences.py @@ -1,10 +1,9 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from . import t1_signal from .utils import CoherenceType diff --git a/src/qibocal/protocols/coherence/t1_signal.py b/src/qibocal/protocols/coherence/t1_signal.py index 534573978..2c23dfddf 100644 --- a/src/qibocal/protocols/coherence/t1_signal.py +++ b/src/qibocal/protocols/coherence/t1_signal.py @@ -5,14 +5,13 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.pulses import Delay from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from ..utils import table_dict, table_html from . import utils diff --git a/src/qibocal/protocols/coherence/t2.py b/src/qibocal/protocols/coherence/t2.py index 4ee5ca959..b788acea4 100644 --- a/src/qibocal/protocols/coherence/t2.py +++ b/src/qibocal/protocols/coherence/t2.py @@ -4,12 +4,11 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from ..utils import table_dict, table_html from . import t1, t2_signal, utils diff --git a/src/qibocal/protocols/coherence/t2_sequences.py b/src/qibocal/protocols/coherence/t2_sequences.py index b3f22dd24..6e232372d 100644 --- a/src/qibocal/protocols/coherence/t2_sequences.py +++ b/src/qibocal/protocols/coherence/t2_sequences.py @@ -1,10 +1,9 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from .t2_signal import T2SignalData, T2SignalParameters, _fit, _plot, _update from .utils import CoherenceType diff --git a/src/qibocal/protocols/coherence/t2_signal.py b/src/qibocal/protocols/coherence/t2_signal.py index ca7dada44..14f7413de 100644 --- a/src/qibocal/protocols/coherence/t2_signal.py +++ b/src/qibocal/protocols/coherence/t2_signal.py @@ -4,14 +4,13 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.pulses import Delay from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Parameters, Results, Routine +from qibocal.auto.operation import Parameters, QubitId, Results, Routine from ..utils import table_dict, table_html from . import t1_signal, t2, utils diff --git a/src/qibocal/protocols/coherence/zeno.py b/src/qibocal/protocols/coherence/zeno.py index 2abf6e3f9..2c0fdc53c 100644 --- a/src/qibocal/protocols/coherence/zeno.py +++ b/src/qibocal/protocols/coherence/zeno.py @@ -4,11 +4,10 @@ import numpy as np import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from ..utils import table_dict, table_html from . import t1, utils diff --git a/src/qibocal/protocols/coherence/zeno_signal.py b/src/qibocal/protocols/coherence/zeno_signal.py index beb00fd0a..d2175fa87 100644 --- a/src/qibocal/protocols/coherence/zeno_signal.py +++ b/src/qibocal/protocols/coherence/zeno_signal.py @@ -4,12 +4,11 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from ..utils import table_dict, table_html from . import utils diff --git a/src/qibocal/protocols/couplers/coupler_chevron.py b/src/qibocal/protocols/couplers/coupler_chevron.py index 635d24756..e26ebcbb0 100644 --- a/src/qibocal/protocols/couplers/coupler_chevron.py +++ b/src/qibocal/protocols/couplers/coupler_chevron.py @@ -3,12 +3,11 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Results, Routine +from qibocal.auto.operation import QubitPairId, Results, Routine from ..two_qubit_interaction.chevron.chevron import ( ChevronData, diff --git a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py index eb31c7c10..1a7689da3 100644 --- a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py @@ -2,12 +2,11 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitPairId, Routine from ..two_qubit_interaction.utils import order_pair from .coupler_resonator_spectroscopy import _fit, _plot, _update diff --git a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py index 4d1c67dca..d16534b7d 100644 --- a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py @@ -1,11 +1,10 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitPairId, Routine from ..flux_dependence.utils import flux_dependence_plot from ..two_qubit_interaction.utils import order_pair diff --git a/src/qibocal/protocols/couplers/utils.py b/src/qibocal/protocols/couplers/utils.py index 00b518a18..bb6530331 100644 --- a/src/qibocal/protocols/couplers/utils.py +++ b/src/qibocal/protocols/couplers/utils.py @@ -3,9 +3,8 @@ import numpy as np import numpy.typing as npt -from qibolab.identifier import QubitId -from qibocal.auto.operation import Data, Results +from qibocal.auto.operation import Data, QubitId, Results from ..flux_dependence.resonator_flux_dependence import ResonatorFluxParameters from ..flux_dependence.utils import create_data_array diff --git a/src/qibocal/protocols/dispersive_shift.py b/src/qibocal/protocols/dispersive_shift.py index 7264057db..cef6ee0ee 100644 --- a/src/qibocal/protocols/dispersive_shift.py +++ b/src/qibocal/protocols/dispersive_shift.py @@ -5,13 +5,12 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.utils import ( HZ_TO_GHZ, lorentzian, diff --git a/src/qibocal/protocols/dispersive_shift_qutrit.py b/src/qibocal/protocols/dispersive_shift_qutrit.py index 32e58bc96..429c21596 100644 --- a/src/qibocal/protocols/dispersive_shift_qutrit.py +++ b/src/qibocal/protocols/dispersive_shift_qutrit.py @@ -5,12 +5,11 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Results, Routine +from qibocal.auto.operation import QubitId, Results, Routine from qibocal.protocols.utils import ( GHZ_TO_HZ, HZ_TO_GHZ, diff --git a/src/qibocal/protocols/drag.py b/src/qibocal/protocols/drag.py index 1737bf355..e1ed3bbf6 100644 --- a/src/qibocal/protocols/drag.py +++ b/src/qibocal/protocols/drag.py @@ -5,13 +5,12 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.config import log from .utils import ( diff --git a/src/qibocal/protocols/fast_reset/fast_reset.py b/src/qibocal/protocols/fast_reset/fast_reset.py index 0056a9a87..b6e55f9a6 100644 --- a/src/qibocal/protocols/fast_reset/fast_reset.py +++ b/src/qibocal/protocols/fast_reset/fast_reset.py @@ -5,11 +5,10 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.utils import table_dict, table_html # TODO: IBM Fast Reset until saturation loop diff --git a/src/qibocal/protocols/flipping.py b/src/qibocal/protocols/flipping.py index 275a8d77a..a6cdad3f3 100644 --- a/src/qibocal/protocols/flipping.py +++ b/src/qibocal/protocols/flipping.py @@ -4,12 +4,11 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from qibocal.config import log from qibocal.protocols.utils import ( fallback_period, diff --git a/src/qibocal/protocols/flipping_signal.py b/src/qibocal/protocols/flipping_signal.py index 03c8fb545..4d1ae2594 100644 --- a/src/qibocal/protocols/flipping_signal.py +++ b/src/qibocal/protocols/flipping_signal.py @@ -5,13 +5,12 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.config import log from qibocal.protocols.utils import ( fallback_period, diff --git a/src/qibocal/protocols/flux_dependence/avoided_crossing.py b/src/qibocal/protocols/flux_dependence/avoided_crossing.py index 8db6c0ad7..7837fb918 100644 --- a/src/qibocal/protocols/flux_dependence/avoided_crossing.py +++ b/src/qibocal/protocols/flux_dependence/avoided_crossing.py @@ -7,10 +7,9 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibocal.auto.operation import Data, Results, Routine +from qibocal.auto.operation import Data, QubitId, QubitPairId, Results, Routine from qibocal.protocols.two_qubit_interaction.utils import order_pair from qibocal.protocols.utils import HZ_TO_GHZ, table_dict, table_html diff --git a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py index acff3396d..6e581c605 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py @@ -4,14 +4,13 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from qibocal.config import log from ..qubit_spectroscopy_ef import DEFAULT_ANHARMONICITY diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py index c0689c6d0..7b37861dc 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py @@ -4,14 +4,13 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Data, Results, Routine +from qibocal.auto.operation import Data, QubitId, Results, Routine from qibocal.config import log from qibocal.protocols.qubit_spectroscopy_ef import DEFAULT_ANHARMONICITY diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py index 484d7efbb..be046e885 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py @@ -2,12 +2,11 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from qibocal.config import raise_error from ..qubit_spectroscopy_ef import DEFAULT_ANHARMONICITY diff --git a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py index 37eb9d209..40d9f4303 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py @@ -4,14 +4,13 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from qibocal.config import log from ..utils import HZ_TO_GHZ, extract_feature, table_dict, table_html diff --git a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py index 7caa16dcd..61b53e1cf 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py @@ -4,14 +4,13 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.config import log from ..utils import GHZ_TO_HZ, HZ_TO_GHZ, extract_feature, table_dict, table_html diff --git a/src/qibocal/protocols/flux_dependence/utils.py b/src/qibocal/protocols/flux_dependence/utils.py index 5e960334a..c71d5ca67 100644 --- a/src/qibocal/protocols/flux_dependence/utils.py +++ b/src/qibocal/protocols/flux_dependence/utils.py @@ -1,9 +1,10 @@ import numpy as np import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.identifier import QubitId from qibolab.platform import Platform +from qibocal.auto.operation import QubitId + from ..utils import HZ_TO_GHZ diff --git a/src/qibocal/protocols/qubit_power_spectroscopy.py b/src/qibocal/protocols/qubit_power_spectroscopy.py index 4631b612a..dcdbdbedc 100644 --- a/src/qibocal/protocols/qubit_power_spectroscopy.py +++ b/src/qibocal/protocols/qubit_power_spectroscopy.py @@ -5,12 +5,11 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Parameters, Results, Routine +from qibocal.auto.operation import Parameters, QubitId, Results, Routine from .qubit_spectroscopy import QubitSpectroscopyResults from .resonator_punchout import ResonatorPunchoutData diff --git a/src/qibocal/protocols/qubit_spectroscopy.py b/src/qibocal/protocols/qubit_spectroscopy.py index 388be93dd..916f0c2d1 100644 --- a/src/qibocal/protocols/qubit_spectroscopy.py +++ b/src/qibocal/protocols/qubit_spectroscopy.py @@ -2,13 +2,12 @@ from typing import Optional import numpy as np -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Parameters, Results, Routine +from qibocal.auto.operation import Parameters, QubitId, Results, Routine from .resonator_spectroscopy import ResonatorSpectroscopyData, ResSpecType from .utils import chi2_reduced, lorentzian, lorentzian_fit, spectroscopy_plot diff --git a/src/qibocal/protocols/qubit_spectroscopy_ef.py b/src/qibocal/protocols/qubit_spectroscopy_ef.py index 825d21a94..a9dae42f7 100644 --- a/src/qibocal/protocols/qubit_spectroscopy_ef.py +++ b/src/qibocal/protocols/qubit_spectroscopy_ef.py @@ -1,13 +1,12 @@ from dataclasses import asdict, dataclass, field import numpy as np -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from .qubit_spectroscopy import ( QubitSpectroscopyData, diff --git a/src/qibocal/protocols/qutrit_classification.py b/src/qibocal/protocols/qutrit_classification.py index f3caaed57..c87a06816 100644 --- a/src/qibocal/protocols/qutrit_classification.py +++ b/src/qibocal/protocols/qutrit_classification.py @@ -3,11 +3,10 @@ import numpy as np from qibolab import AcquisitionType, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from qibocal.fitting.classifier import run from qibocal.protocols.classification import ( ClassificationType, diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index afd53b6ff..ddda1dac1 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -3,12 +3,11 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Routine +from qibocal.auto.operation import Data, QubitId, Routine from qibocal.config import log from qibocal.result import probability diff --git a/src/qibocal/protocols/rabi/amplitude_frequency.py b/src/qibocal/protocols/rabi/amplitude_frequency.py index 2fa5c6140..d47110c85 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency.py @@ -7,11 +7,10 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from qibocal.config import log from qibocal.protocols.utils import ( HZ_TO_GHZ, diff --git a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py index 814f3123d..442d45179 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py @@ -8,12 +8,11 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Routine from qibocal.config import log from qibocal.protocols.utils import ( HZ_TO_GHZ, diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 8822da180..05e286324 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -4,12 +4,11 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.config import log from qibocal.protocols.utils import fallback_period, guess_period from qibocal.result import magnitude, phase diff --git a/src/qibocal/protocols/rabi/ef.py b/src/qibocal/protocols/rabi/ef.py index d60baae97..83037433e 100644 --- a/src/qibocal/protocols/rabi/ef.py +++ b/src/qibocal/protocols/rabi/ef.py @@ -2,13 +2,12 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from . import amplitude_signal, utils diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index 80cf6f238..b0b6a7953 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -4,12 +4,11 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Parameters, Routine +from qibocal.auto.operation import Parameters, QubitId, Routine from qibocal.config import log from qibocal.protocols.rabi.length_signal import ( RabiLengthSignalData, diff --git a/src/qibocal/protocols/rabi/length_frequency.py b/src/qibocal/protocols/rabi/length_frequency.py index a07dbbfc5..1e63889c9 100644 --- a/src/qibocal/protocols/rabi/length_frequency.py +++ b/src/qibocal/protocols/rabi/length_frequency.py @@ -7,11 +7,10 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from qibocal.config import log from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/rabi/length_frequency_signal.py b/src/qibocal/protocols/rabi/length_frequency_signal.py index f89a92eb9..420733c15 100644 --- a/src/qibocal/protocols/rabi/length_frequency_signal.py +++ b/src/qibocal/protocols/rabi/length_frequency_signal.py @@ -8,12 +8,11 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Routine from qibocal.config import log from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/rabi/length_sequences.py b/src/qibocal/protocols/rabi/length_sequences.py index 7d045d485..fc6307239 100644 --- a/src/qibocal/protocols/rabi/length_sequences.py +++ b/src/qibocal/protocols/rabi/length_sequences.py @@ -1,9 +1,8 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from .length_signal import ( RabiLengthSignalData, diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index 90f82820e..fc0ad3e50 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -4,12 +4,11 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.config import log from qibocal.protocols.utils import fallback_period, guess_period from qibocal.result import magnitude, phase diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index b1f559b9e..ec7d31fe2 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -1,13 +1,12 @@ import numpy as np import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.pulses import Delay from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit -from qibocal.auto.operation import Parameters +from qibocal.auto.operation import Parameters, QubitId from ..utils import COLORBAND, COLORBAND_LINE, table_dict, table_html diff --git a/src/qibocal/protocols/ramsey/ramsey.py b/src/qibocal/protocols/ramsey/ramsey.py index 91082a4a6..7a1b8c512 100644 --- a/src/qibocal/protocols/ramsey/ramsey.py +++ b/src/qibocal/protocols/ramsey/ramsey.py @@ -5,12 +5,11 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitId, Routine from qibocal.config import log from ..utils import GHZ_TO_HZ, chi2_reduced, table_dict, table_html diff --git a/src/qibocal/protocols/ramsey/ramsey_signal.py b/src/qibocal/protocols/ramsey/ramsey_signal.py index 3d2c3477e..66d06ad63 100644 --- a/src/qibocal/protocols/ramsey/ramsey_signal.py +++ b/src/qibocal/protocols/ramsey/ramsey_signal.py @@ -5,13 +5,12 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.config import log from ..utils import GHZ_TO_HZ, table_dict, table_html diff --git a/src/qibocal/protocols/ramsey/utils.py b/src/qibocal/protocols/ramsey/utils.py index dc1db40ce..07bc35b03 100644 --- a/src/qibocal/protocols/ramsey/utils.py +++ b/src/qibocal/protocols/ramsey/utils.py @@ -2,10 +2,10 @@ import numpy as np from qibolab import Platform -from qibolab.identifier import QubitId from qibolab.sequence import PulseSequence from scipy.optimize import curve_fit +from qibocal.auto.operation import QubitId from qibocal.protocols.utils import fallback_period, guess_period POPT_EXCEPTION = [0, 0, 0, 0, 1] diff --git a/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py b/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py index 122875352..336bf73ac 100644 --- a/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py +++ b/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py @@ -2,10 +2,9 @@ import numpy as np import plotly.graph_objects as go -from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibocal.auto.operation import Results, Routine +from qibocal.auto.operation import QubitId, Results, Routine from qibocal.protocols.randomized_benchmarking.utils import rb_acquisition from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb.py index 50b10a31d..630b33d7c 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb.py @@ -3,10 +3,9 @@ import numpy as np import plotly.graph_objects as go -from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibocal.auto.operation import Parameters, Routine +from qibocal.auto.operation import Parameters, QubitId, Routine from ..utils import table_dict, table_html from .fitting import exp1B_func diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py index c7735d414..2144f5ab7 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py @@ -1,9 +1,8 @@ from dataclasses import dataclass -from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitPairId, Routine from qibocal.protocols.randomized_benchmarking.standard_rb import ( StandardRBParameters, _plot, diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py index d6e20fd7f..9e80ef687 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py @@ -1,10 +1,9 @@ from dataclasses import dataclass, fields import numpy as np -from qibolab.identifier import QubitPairId from qibolab.platform import Platform -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitPairId, Routine from qibocal.protocols.randomized_benchmarking.standard_rb import _plot from qibocal.protocols.randomized_benchmarking.standard_rb_2q import ( StandardRB2QParameters, diff --git a/src/qibocal/protocols/randomized_benchmarking/utils.py b/src/qibocal/protocols/randomized_benchmarking/utils.py index 29b67f42f..868390096 100644 --- a/src/qibocal/protocols/randomized_benchmarking/utils.py +++ b/src/qibocal/protocols/randomized_benchmarking/utils.py @@ -10,10 +10,9 @@ from qibo.backends import GlobalBackend from qibo.config import raise_error from qibo.models import Circuit -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibocal.auto.operation import Data, Parameters, Results +from qibocal.auto.operation import Data, Parameters, QubitId, QubitPairId, Results from qibocal.auto.transpile import ( dummy_transpiler, execute_transpiled_circuit, diff --git a/src/qibocal/protocols/readout_characterization.py b/src/qibocal/protocols/readout_characterization.py index eb807c679..5f9fff302 100644 --- a/src/qibocal/protocols/readout_characterization.py +++ b/src/qibocal/protocols/readout_characterization.py @@ -5,12 +5,11 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.utils import ( effective_qubit_temperature, format_error_single_cell, diff --git a/src/qibocal/protocols/readout_mitigation_matrix.py b/src/qibocal/protocols/readout_mitigation_matrix.py index 26d44b0fa..80112adf5 100644 --- a/src/qibocal/protocols/readout_mitigation_matrix.py +++ b/src/qibocal/protocols/readout_mitigation_matrix.py @@ -8,11 +8,10 @@ from qibo.backends import GlobalBackend from qibo.models import Circuit from qibolab import ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit from qibocal.config import log diff --git a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py index 04236f941..53ab5fafa 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py +++ b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py @@ -6,12 +6,11 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.fitting.classifier.qubit_fit import QubitFit from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/readout_optimization/resonator_frequency.py b/src/qibocal/protocols/readout_optimization/resonator_frequency.py index 656ce8b43..ad7cf1a2f 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_frequency.py +++ b/src/qibocal/protocols/readout_optimization/resonator_frequency.py @@ -5,13 +5,12 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.fitting.classifier.qubit_fit import QubitFit from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py index 4db9ee3c8..d8086b234 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py @@ -3,11 +3,10 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols import classification from qibocal.protocols.readout_optimization.resonator_frequency import ( ResonatorFrequencyType, diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py index c86d9ee86..da340c1f5 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py @@ -5,10 +5,9 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.resonator_spectroscopy import resonator_spectroscopy from qibocal.protocols.utils import HZ_TO_GHZ, PowerLevel, table_dict, table_html diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py index 18fdb1682..0b08fbc0b 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py @@ -3,11 +3,10 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols import classification from qibocal.protocols.utils import HZ_TO_GHZ, table_dict, table_html diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py index 0e0bfe253..da88b51ff 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py @@ -2,11 +2,10 @@ import numpy as np import plotly.graph_objects as go -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibocal import update -from qibocal.auto.operation import Parameters, Results, Routine +from qibocal.auto.operation import Parameters, QubitId, Results, Routine from qibocal.protocols import classification from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py index 7f0b5fde8..87f84d5c3 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py @@ -5,10 +5,9 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.resonator_spectroscopy import resonator_spectroscopy from qibocal.protocols.utils import HZ_TO_GHZ, PowerLevel, table_dict, table_html diff --git a/src/qibocal/protocols/resonator_punchout.py b/src/qibocal/protocols/resonator_punchout.py index fa046a3be..dcd039edd 100644 --- a/src/qibocal/protocols/resonator_punchout.py +++ b/src/qibocal/protocols/resonator_punchout.py @@ -6,13 +6,12 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from .utils import HZ_TO_GHZ, fit_punchout, norm, table_dict, table_html diff --git a/src/qibocal/protocols/resonator_punchout_attenuation.py b/src/qibocal/protocols/resonator_punchout_attenuation.py index d3d79eca0..33479b84c 100644 --- a/src/qibocal/protocols/resonator_punchout_attenuation.py +++ b/src/qibocal/protocols/resonator_punchout_attenuation.py @@ -6,13 +6,12 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from .utils import HZ_TO_GHZ, fit_punchout, norm, table_dict, table_html diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index df94e6021..ef43473b7 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -5,13 +5,12 @@ import numpy as np import numpy.typing as npt from _collections_abc import Callable -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibolab.sweeper import Parameter, Sweeper from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.result import magnitude, phase from .utils import ( diff --git a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py index f133497d8..aea1de374 100644 --- a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py +++ b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py @@ -6,12 +6,11 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine SAMPLES_FACTOR = 16 diff --git a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py index cfc53d90c..7cc858f7d 100644 --- a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py +++ b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py @@ -5,11 +5,10 @@ import numpy.typing as npt import plotly.graph_objects as go from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId from qibolab.platform import Platform from qibolab.sequence import PulseSequence -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.utils import S_TO_NS, table_dict, table_html diff --git a/src/qibocal/protocols/state_tomography.py b/src/qibocal/protocols/state_tomography.py index fb7de6e30..30556ef58 100644 --- a/src/qibocal/protocols/state_tomography.py +++ b/src/qibocal/protocols/state_tomography.py @@ -10,10 +10,9 @@ from qibo import Circuit, gates from qibo.backends import GlobalBackend, NumpyBackend, matrices from qibo.quantum_info import fidelity -from qibolab.identifier import QubitId from qibolab.platform import Platform -from qibocal.auto.operation import DATAFILE, Data, Parameters, Results, Routine +from qibocal.auto.operation import DATAFILE, Data, Parameters, QubitId, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit from .utils import table_dict, table_html diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py index eca8043f4..a44129491 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py @@ -8,13 +8,12 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitPairId, Results, Routine from qibocal.config import log from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py index 7f01c611c..2c88d8ff4 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py @@ -5,11 +5,10 @@ import numpy as np import numpy.typing as npt from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitPairId, Routine from ..utils import order_pair from .chevron import ( diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py b/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py index e353b816d..e0247c1b7 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py @@ -1,8 +1,9 @@ import numpy as np -from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sequence import PulseSequence +from qibocal.auto.operation import QubitPairId + from ..utils import order_pair COLORAXIS = ["coloraxis2", "coloraxis1"] diff --git a/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py b/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py index cd4715ba4..314083922 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py +++ b/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py @@ -10,10 +10,16 @@ import plotly.graph_objects as go from qibo.backends import GlobalBackend from qibolab import ExecutionParameters -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import ( + Data, + Parameters, + QubitId, + QubitPairId, + Results, + Routine, +) from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit from qibocal.config import log diff --git a/src/qibocal/protocols/two_qubit_interaction/optimize.py b/src/qibocal/protocols/two_qubit_interaction/optimize.py index 402db9f10..c18319731 100644 --- a/src/qibocal/protocols/two_qubit_interaction/optimize.py +++ b/src/qibocal/protocols/two_qubit_interaction/optimize.py @@ -8,13 +8,19 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import ( + Data, + Parameters, + QubitId, + QubitPairId, + Results, + Routine, +) from qibocal.config import log from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/two_qubit_interaction/utils.py b/src/qibocal/protocols/two_qubit_interaction/utils.py index 523f4b1b9..e9d5b8b3f 100644 --- a/src/qibocal/protocols/two_qubit_interaction/utils.py +++ b/src/qibocal/protocols/two_qubit_interaction/utils.py @@ -1,7 +1,8 @@ import numpy as np -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform +from qibocal.auto.operation import QubitId, QubitPairId + from ..utils import fallback_period, guess_period diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py index d41d32f92..8c6c6f281 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py @@ -8,7 +8,6 @@ import plotly.graph_objects as go from plotly.subplots import make_subplots from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform from qibolab.pulses import Pulse from qibolab.sequence import PulseSequence @@ -16,7 +15,14 @@ from scipy.optimize import curve_fit from qibocal import update -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import ( + Data, + Parameters, + QubitId, + QubitPairId, + Results, + Routine, +) from qibocal.config import log from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py index 6a7869baf..dce03d50d 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py @@ -4,11 +4,10 @@ import numpy as np from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.identifier import QubitPairId from qibolab.platform import Platform from qibolab.sweeper import Parameter, Sweeper -from qibocal.auto.operation import Routine +from qibocal.auto.operation import QubitPairId, Routine from .utils import order_pair from .virtual_z_phases import ( diff --git a/src/qibocal/protocols/two_qubit_state_tomography.py b/src/qibocal/protocols/two_qubit_state_tomography.py index 2e5021211..356c16840 100644 --- a/src/qibocal/protocols/two_qubit_state_tomography.py +++ b/src/qibocal/protocols/two_qubit_state_tomography.py @@ -12,10 +12,16 @@ from qibo.backends import GlobalBackend, NumpyBackend from qibo.quantum_info import fidelity from qibo.result import QuantumState -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform -from qibocal.auto.operation import DATAFILE, Data, Results, Routine +from qibocal.auto.operation import ( + DATAFILE, + Data, + QubitId, + QubitPairId, + Results, + Routine, +) from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit from .state_tomography import StateTomographyParameters, plot_reconstruction diff --git a/src/qibocal/protocols/utils.py b/src/qibocal/protocols/utils.py index b0da77e75..94fdaeb05 100644 --- a/src/qibocal/protocols/utils.py +++ b/src/qibocal/protocols/utils.py @@ -7,12 +7,11 @@ import plotly.graph_objects as go from numpy.typing import NDArray from plotly.subplots import make_subplots -from qibolab.identifier import QubitId from scipy import constants from scipy.optimize import curve_fit from scipy.signal import find_peaks -from qibocal.auto.operation import Data, Results +from qibocal.auto.operation import Data, QubitId, Results from qibocal.config import log from qibocal.fitting.classifier import run from qibocal.protocols.resonator_utils import ( diff --git a/src/qibocal/update.py b/src/qibocal/update.py index 7f2eb7524..21a5d3112 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -5,9 +5,10 @@ import numpy as np from qibolab import pulses -from qibolab.identifier import QubitId, QubitPairId from qibolab.platform import Platform +from qibocal.auto.operation import QubitId, QubitPairId + CLASSIFICATION_PARAMS = [ "threshold", "iq_angle", diff --git a/src/qibocal/web/compared_report.py b/src/qibocal/web/compared_report.py index 616fd6312..80af8be44 100644 --- a/src/qibocal/web/compared_report.py +++ b/src/qibocal/web/compared_report.py @@ -7,9 +7,9 @@ import pandas as pd import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.identifier import QubitId, QubitPairId from qibocal.auto.history import History +from qibocal.auto.operation import QubitId, QubitPairId from qibocal.auto.output import Output from qibocal.auto.task import Completed, TaskId from qibocal.cli.report import generate_figures_and_report diff --git a/tests/test_executor.py b/tests/test_executor.py index 4d60705d0..75be8aa52 100644 --- a/tests/test_executor.py +++ b/tests/test_executor.py @@ -8,14 +8,13 @@ import pytest from qibolab import Platform, create_platform -from qibolab.identifier import QubitId import qibocal import qibocal.protocols from qibocal import Executor from qibocal.auto.history import History from qibocal.auto.mode import ExecutionMode -from qibocal.auto.operation import Data, Parameters, Results, Routine +from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.auto.runcard import Action from qibocal.protocols import flipping From 6804d7e334ea53cba11e6582779441fe87283a7e Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Wed, 18 Sep 2024 19:02:18 +0400 Subject: [PATCH 32/38] chore: update for new qibolab public API --- doc/source/protocols/signal/time_of_flight.rst | 2 +- doc/source/tutorials/advanced.rst | 4 ++-- src/qibocal/auto/execute.py | 3 +-- src/qibocal/auto/operation.py | 4 +--- src/qibocal/auto/runcard.py | 2 +- src/qibocal/auto/task.py | 2 +- src/qibocal/protocols/allxy/allxy.py | 4 +--- .../protocols/allxy/allxy_drag_pulse_tuning.py | 4 +--- .../allxy/allxy_resonator_depletion_tuning.py | 4 +--- src/qibocal/protocols/classification.py | 5 +---- src/qibocal/protocols/coherence/spin_echo.py | 10 +++++++--- .../protocols/coherence/spin_echo_signal.py | 10 +++++++--- src/qibocal/protocols/coherence/t1.py | 13 +++++++++---- src/qibocal/protocols/coherence/t1_sequences.py | 10 +++++++--- src/qibocal/protocols/coherence/t1_signal.py | 15 ++++++++++----- src/qibocal/protocols/coherence/t2.py | 13 +++++++++---- src/qibocal/protocols/coherence/t2_sequences.py | 10 +++++++--- src/qibocal/protocols/coherence/t2_signal.py | 15 ++++++++++----- src/qibocal/protocols/coherence/zeno.py | 10 +++++++--- src/qibocal/protocols/coherence/zeno_signal.py | 10 +++++++--- src/qibocal/protocols/couplers/coupler_chevron.py | 13 +++++++++---- .../couplers/coupler_qubit_spectroscopy.py | 13 +++++++++---- .../couplers/coupler_resonator_spectroscopy.py | 13 +++++++++---- src/qibocal/protocols/dispersive_shift.py | 13 +++++++++---- src/qibocal/protocols/dispersive_shift_qutrit.py | 13 +++++++++---- src/qibocal/protocols/drag.py | 10 +++++++--- src/qibocal/protocols/fast_reset/fast_reset.py | 4 +--- src/qibocal/protocols/flipping.py | 10 +++++++--- src/qibocal/protocols/flipping_signal.py | 10 +++++++--- .../protocols/flux_dependence/avoided_crossing.py | 2 +- .../protocols/flux_dependence/qubit_crosstalk.py | 13 +++++++++---- .../flux_dependence/qubit_flux_dependence.py | 13 +++++++++---- .../flux_dependence/qubit_flux_tracking.py | 13 +++++++++---- .../flux_dependence/resonator_crosstalk.py | 13 +++++++++---- .../flux_dependence/resonator_flux_dependence.py | 13 +++++++++---- src/qibocal/protocols/flux_dependence/utils.py | 2 +- src/qibocal/protocols/qubit_power_spectroscopy.py | 13 +++++++++---- src/qibocal/protocols/qubit_spectroscopy.py | 4 +--- src/qibocal/protocols/qubit_spectroscopy_ef.py | 4 +--- src/qibocal/protocols/qutrit_classification.py | 4 +--- src/qibocal/protocols/rabi/amplitude.py | 11 ++++++++--- src/qibocal/protocols/rabi/amplitude_frequency.py | 11 ++++++++--- .../protocols/rabi/amplitude_frequency_signal.py | 11 ++++++++--- src/qibocal/protocols/rabi/amplitude_signal.py | 11 ++++++++--- src/qibocal/protocols/rabi/ef.py | 13 +++++++++---- src/qibocal/protocols/rabi/length.py | 11 ++++++++--- src/qibocal/protocols/rabi/length_frequency.py | 11 ++++++++--- .../protocols/rabi/length_frequency_signal.py | 11 ++++++++--- src/qibocal/protocols/rabi/length_sequences.py | 3 +-- src/qibocal/protocols/rabi/length_signal.py | 11 ++++++++--- src/qibocal/protocols/rabi/utils.py | 4 +--- src/qibocal/protocols/ramsey/ramsey.py | 13 +++++++++---- src/qibocal/protocols/ramsey/ramsey_signal.py | 13 +++++++++---- src/qibocal/protocols/ramsey/utils.py | 3 +-- .../randomized_benchmarking/filtered_rb.py | 2 +- .../randomized_benchmarking/standard_rb.py | 2 +- .../randomized_benchmarking/standard_rb_2q.py | 2 +- .../standard_rb_2q_inter.py | 2 +- .../protocols/randomized_benchmarking/utils.py | 2 +- src/qibocal/protocols/readout_characterization.py | 4 +--- .../protocols/readout_mitigation_matrix.py | 4 +--- .../readout_optimization/resonator_amplitude.py | 4 +--- .../readout_optimization/resonator_frequency.py | 12 ++++++++---- .../twpa_calibration/frequency.py | 2 +- .../twpa_calibration/frequency_SNR.py | 2 +- .../twpa_calibration/frequency_power.py | 2 +- .../twpa_calibration/power.py | 2 +- .../twpa_calibration/power_SNR.py | 2 +- src/qibocal/protocols/resonator_punchout.py | 13 +++++++++---- .../protocols/resonator_punchout_attenuation.py | 13 +++++++++---- src/qibocal/protocols/resonator_spectroscopy.py | 4 +--- .../calibrate_state_discrimination.py | 10 +++++++--- .../signal_experiments/time_of_flight_readout.py | 10 +++++++--- src/qibocal/protocols/state_tomography.py | 2 +- .../two_qubit_interaction/chevron/chevron.py | 11 ++++++++--- .../chevron/chevron_signal.py | 11 ++++++++--- .../two_qubit_interaction/chevron/utils.py | 3 +-- .../two_qubit_interaction/chsh/protocol.py | 3 +-- .../two_qubit_interaction/chsh/pulses.py | 2 +- .../protocols/two_qubit_interaction/optimize.py | 11 ++++++++--- .../protocols/two_qubit_interaction/utils.py | 2 +- .../two_qubit_interaction/virtual_z_phases.py | 15 ++++++++++----- .../virtual_z_phases_signal.py | 11 ++++++++--- .../protocols/two_qubit_state_tomography.py | 2 +- src/qibocal/update.py | 3 +-- tests/test_update.py | 3 +-- 86 files changed, 415 insertions(+), 238 deletions(-) diff --git a/doc/source/protocols/signal/time_of_flight.rst b/doc/source/protocols/signal/time_of_flight.rst index 0d2561b60..8fc93c626 100644 --- a/doc/source/protocols/signal/time_of_flight.rst +++ b/doc/source/protocols/signal/time_of_flight.rst @@ -37,7 +37,7 @@ Acquisition .. testcode:: :hide: - from qibolab.execution_parameters import AcquisitionType + from qibolab import AcquisitionType It is important to note that this experiment makes use of the RAW acquisition mode (see `Qibolab documentation `_), which may require some specific care depending on the instrument employed (for some devices demodulation could be used, or this mode could be available for just a single qubit at a time). diff --git a/doc/source/tutorials/advanced.rst b/doc/source/tutorials/advanced.rst index 2753e6f82..eb27f068d 100644 --- a/doc/source/tutorials/advanced.rst +++ b/doc/source/tutorials/advanced.rst @@ -190,7 +190,7 @@ In the acquisition function we are going to perform the experiment. .. code-block:: python - from qibolab.platform import Platform + from qibolab import Platform from qibocal.auto.operation import QubitId, QubitPairId from typing import Union @@ -200,7 +200,7 @@ In the acquisition function we are going to perform the experiment. .. code-block:: python - from qibolab.platform import Platform + from qibolab import Platform from qibocal.auto.operation import QubitId def acquisition( diff --git a/src/qibocal/auto/execute.py b/src/qibocal/auto/execute.py index 018354892..120102996 100644 --- a/src/qibocal/auto/execute.py +++ b/src/qibocal/auto/execute.py @@ -11,8 +11,7 @@ from typing import Optional, Union from qibo.backends import construct_backend -from qibolab import create_platform -from qibolab.platform import Platform +from qibolab import Platform, create_platform from qibocal import protocols from qibocal.config import log diff --git a/src/qibocal/auto/operation.py b/src/qibocal/auto/operation.py index 12372dad6..2f3c8502e 100644 --- a/src/qibocal/auto/operation.py +++ b/src/qibocal/auto/operation.py @@ -9,9 +9,7 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.qubits import Qubit +from qibolab import AcquisitionType, AveragingMode, ExecutionParameters, Platform, Qubit from qibocal.config import log diff --git a/src/qibocal/auto/runcard.py b/src/qibocal/auto/runcard.py index 409306de6..e4b64dc45 100644 --- a/src/qibocal/auto/runcard.py +++ b/src/qibocal/auto/runcard.py @@ -7,7 +7,7 @@ import yaml from pydantic.dataclasses import dataclass -from qibolab.platform import Platform +from qibolab import Platform from .. import protocols from .execute import Executor diff --git a/src/qibocal/auto/task.py b/src/qibocal/auto/task.py index 0f3d7aa75..a94137b31 100644 --- a/src/qibocal/auto/task.py +++ b/src/qibocal/auto/task.py @@ -6,7 +6,7 @@ from typing import Any, NewType, Optional, Union import yaml -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import QubitId, QubitPairId diff --git a/src/qibocal/protocols/allxy/allxy.py b/src/qibocal/protocols/allxy/allxy.py index be3f1b49a..15527bd6f 100644 --- a/src/qibocal/protocols/allxy/allxy.py +++ b/src/qibocal/protocols/allxy/allxy.py @@ -3,9 +3,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import AveragingMode, ExecutionParameters, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py index e51050a1c..d15487991 100644 --- a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py @@ -4,9 +4,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import AveragingMode, ExecutionParameters, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py index 9f5542c15..a5b70be6e 100644 --- a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py @@ -4,9 +4,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import AveragingMode, ExecutionParameters, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 513c0f2bd..ee3edf199 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -7,10 +7,7 @@ import numpy.typing as npt import pandas as pd import plotly.graph_objects as go -from qibolab import AcquisitionType, ExecutionParameters -from qibolab.platform import Platform -from qibolab.pulses import Delay -from qibolab.sequence import PulseSequence +from qibolab import AcquisitionType, Delay, ExecutionParameters, Platform, PulseSequence from sklearn.metrics import roc_auc_score, roc_curve from qibocal import update diff --git a/src/qibocal/protocols/coherence/spin_echo.py b/src/qibocal/protocols/coherence/spin_echo.py index 67ca46de2..c359cf7d2 100644 --- a/src/qibocal/protocols/coherence/spin_echo.py +++ b/src/qibocal/protocols/coherence/spin_echo.py @@ -4,9 +4,13 @@ import numpy as np import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/spin_echo_signal.py b/src/qibocal/protocols/coherence/spin_echo_signal.py index c713b0e17..f5966aba6 100644 --- a/src/qibocal/protocols/coherence/spin_echo_signal.py +++ b/src/qibocal/protocols/coherence/spin_echo_signal.py @@ -4,9 +4,13 @@ import numpy as np import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from qibocal import update from qibocal.auto.operation import Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/coherence/t1.py b/src/qibocal/protocols/coherence/t1.py index 80e5f6540..99e4aeaa7 100644 --- a/src/qibocal/protocols/coherence/t1.py +++ b/src/qibocal/protocols/coherence/t1.py @@ -4,10 +4,15 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import Data, QubitId, Routine diff --git a/src/qibocal/protocols/coherence/t1_sequences.py b/src/qibocal/protocols/coherence/t1_sequences.py index e706ab23d..9992d966e 100644 --- a/src/qibocal/protocols/coherence/t1_sequences.py +++ b/src/qibocal/protocols/coherence/t1_sequences.py @@ -1,7 +1,11 @@ import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/t1_signal.py b/src/qibocal/protocols/coherence/t1_signal.py index 2c23dfddf..57fad160e 100644 --- a/src/qibocal/protocols/coherence/t1_signal.py +++ b/src/qibocal/protocols/coherence/t1_signal.py @@ -4,11 +4,16 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.pulses import Delay -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + Delay, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/coherence/t2.py b/src/qibocal/protocols/coherence/t2.py index b788acea4..5ca3c1337 100644 --- a/src/qibocal/protocols/coherence/t2.py +++ b/src/qibocal/protocols/coherence/t2.py @@ -3,10 +3,15 @@ import numpy as np import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/t2_sequences.py b/src/qibocal/protocols/coherence/t2_sequences.py index 6e232372d..5d56bc35d 100644 --- a/src/qibocal/protocols/coherence/t2_sequences.py +++ b/src/qibocal/protocols/coherence/t2_sequences.py @@ -1,7 +1,11 @@ import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/t2_signal.py b/src/qibocal/protocols/coherence/t2_signal.py index 14f7413de..bc39e8361 100644 --- a/src/qibocal/protocols/coherence/t2_signal.py +++ b/src/qibocal/protocols/coherence/t2_signal.py @@ -3,11 +3,16 @@ import numpy as np import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.pulses import Delay -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + Delay, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/coherence/zeno.py b/src/qibocal/protocols/coherence/zeno.py index 2c0fdc53c..c3873d66d 100644 --- a/src/qibocal/protocols/coherence/zeno.py +++ b/src/qibocal/protocols/coherence/zeno.py @@ -3,9 +3,13 @@ import numpy as np import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/zeno_signal.py b/src/qibocal/protocols/coherence/zeno_signal.py index d2175fa87..19a24bb4e 100644 --- a/src/qibocal/protocols/coherence/zeno_signal.py +++ b/src/qibocal/protocols/coherence/zeno_signal.py @@ -3,9 +3,13 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/couplers/coupler_chevron.py b/src/qibocal/protocols/couplers/coupler_chevron.py index e26ebcbb0..b2691f2e6 100644 --- a/src/qibocal/protocols/couplers/coupler_chevron.py +++ b/src/qibocal/protocols/couplers/coupler_chevron.py @@ -2,10 +2,15 @@ from typing import Optional import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import QubitPairId, Results, Routine diff --git a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py index 1a7689da3..f028ab707 100644 --- a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py @@ -1,10 +1,15 @@ from typing import Optional import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import QubitPairId, Routine diff --git a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py index d16534b7d..034a0b74a 100644 --- a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py @@ -1,8 +1,13 @@ import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import QubitPairId, Routine diff --git a/src/qibocal/protocols/dispersive_shift.py b/src/qibocal/protocols/dispersive_shift.py index cef6ee0ee..0d20fdaf2 100644 --- a/src/qibocal/protocols/dispersive_shift.py +++ b/src/qibocal/protocols/dispersive_shift.py @@ -4,10 +4,15 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/dispersive_shift_qutrit.py b/src/qibocal/protocols/dispersive_shift_qutrit.py index 429c21596..520d80488 100644 --- a/src/qibocal/protocols/dispersive_shift_qutrit.py +++ b/src/qibocal/protocols/dispersive_shift_qutrit.py @@ -4,10 +4,15 @@ import numpy as np import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import QubitId, Results, Routine from qibocal.protocols.utils import ( diff --git a/src/qibocal/protocols/drag.py b/src/qibocal/protocols/drag.py index e1ed3bbf6..bbbb21065 100644 --- a/src/qibocal/protocols/drag.py +++ b/src/qibocal/protocols/drag.py @@ -4,9 +4,13 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/fast_reset/fast_reset.py b/src/qibocal/protocols/fast_reset/fast_reset.py index b6e55f9a6..216457e78 100644 --- a/src/qibocal/protocols/fast_reset/fast_reset.py +++ b/src/qibocal/protocols/fast_reset/fast_reset.py @@ -4,9 +4,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ExecutionParameters, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/flipping.py b/src/qibocal/protocols/flipping.py index a6cdad3f3..c9efef4be 100644 --- a/src/qibocal/protocols/flipping.py +++ b/src/qibocal/protocols/flipping.py @@ -3,9 +3,13 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from scipy.optimize import curve_fit from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/flipping_signal.py b/src/qibocal/protocols/flipping_signal.py index 4d1ae2594..1cb5b15df 100644 --- a/src/qibocal/protocols/flipping_signal.py +++ b/src/qibocal/protocols/flipping_signal.py @@ -4,9 +4,13 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/avoided_crossing.py b/src/qibocal/protocols/flux_dependence/avoided_crossing.py index 7837fb918..4c89517f8 100644 --- a/src/qibocal/protocols/flux_dependence/avoided_crossing.py +++ b/src/qibocal/protocols/flux_dependence/avoided_crossing.py @@ -7,7 +7,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import Data, QubitId, QubitPairId, Results, Routine from qibocal.protocols.two_qubit_interaction.utils import order_pair diff --git a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py index 6e581c605..1f3eee4f0 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py @@ -3,10 +3,15 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py index 7b37861dc..6c354066f 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py @@ -3,10 +3,15 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py index be046e885..a2a75c197 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py @@ -1,10 +1,15 @@ from dataclasses import dataclass import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import QubitId, Routine from qibocal.config import raise_error diff --git a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py index 40d9f4303..8858b6512 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py @@ -3,10 +3,15 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py index 61b53e1cf..92e4264ca 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py @@ -3,10 +3,15 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/utils.py b/src/qibocal/protocols/flux_dependence/utils.py index c71d5ca67..76ced375b 100644 --- a/src/qibocal/protocols/flux_dependence/utils.py +++ b/src/qibocal/protocols/flux_dependence/utils.py @@ -1,7 +1,7 @@ import numpy as np import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import QubitId diff --git a/src/qibocal/protocols/qubit_power_spectroscopy.py b/src/qibocal/protocols/qubit_power_spectroscopy.py index dcdbdbedc..4860eeb8a 100644 --- a/src/qibocal/protocols/qubit_power_spectroscopy.py +++ b/src/qibocal/protocols/qubit_power_spectroscopy.py @@ -4,10 +4,15 @@ import numpy as np import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/qubit_spectroscopy.py b/src/qibocal/protocols/qubit_spectroscopy.py index 916f0c2d1..06d776c3d 100644 --- a/src/qibocal/protocols/qubit_spectroscopy.py +++ b/src/qibocal/protocols/qubit_spectroscopy.py @@ -2,9 +2,7 @@ from typing import Optional import numpy as np -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import Parameter, Platform, PulseSequence, Sweeper from qibocal import update from qibocal.auto.operation import Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/qubit_spectroscopy_ef.py b/src/qibocal/protocols/qubit_spectroscopy_ef.py index a9dae42f7..8f08eebfd 100644 --- a/src/qibocal/protocols/qubit_spectroscopy_ef.py +++ b/src/qibocal/protocols/qubit_spectroscopy_ef.py @@ -1,9 +1,7 @@ from dataclasses import asdict, dataclass, field import numpy as np -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import Parameter, Platform, PulseSequence, Sweeper from qibocal import update from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/qutrit_classification.py b/src/qibocal/protocols/qutrit_classification.py index c87a06816..210433dce 100644 --- a/src/qibocal/protocols/qutrit_classification.py +++ b/src/qibocal/protocols/qutrit_classification.py @@ -2,9 +2,7 @@ from typing import Optional import numpy as np -from qibolab import AcquisitionType, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import AcquisitionType, ExecutionParameters, Platform, PulseSequence from qibocal.auto.operation import QubitId, Routine from qibocal.fitting.classifier import run diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index ddda1dac1..941e94630 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -2,9 +2,14 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, QubitId, Routine diff --git a/src/qibocal/protocols/rabi/amplitude_frequency.py b/src/qibocal/protocols/rabi/amplitude_frequency.py index d47110c85..253a71d11 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency.py @@ -6,9 +6,14 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal.auto.operation import QubitId, Routine from qibocal.config import log diff --git a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py index 442d45179..d4741f273 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py @@ -7,9 +7,14 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Routine diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 05e286324..173797575 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -3,9 +3,14 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/rabi/ef.py b/src/qibocal/protocols/rabi/ef.py index 83037433e..a583eaade 100644 --- a/src/qibocal/protocols/rabi/ef.py +++ b/src/qibocal/protocols/rabi/ef.py @@ -1,10 +1,15 @@ from dataclasses import dataclass import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index b0b6a7953..d1b5f03a3 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -3,9 +3,14 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Parameters, QubitId, Routine diff --git a/src/qibocal/protocols/rabi/length_frequency.py b/src/qibocal/protocols/rabi/length_frequency.py index 1e63889c9..efc342b71 100644 --- a/src/qibocal/protocols/rabi/length_frequency.py +++ b/src/qibocal/protocols/rabi/length_frequency.py @@ -6,9 +6,14 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal.auto.operation import QubitId, Routine from qibocal.config import log diff --git a/src/qibocal/protocols/rabi/length_frequency_signal.py b/src/qibocal/protocols/rabi/length_frequency_signal.py index 420733c15..1d1b42df6 100644 --- a/src/qibocal/protocols/rabi/length_frequency_signal.py +++ b/src/qibocal/protocols/rabi/length_frequency_signal.py @@ -7,9 +7,14 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Routine diff --git a/src/qibocal/protocols/rabi/length_sequences.py b/src/qibocal/protocols/rabi/length_sequences.py index fc6307239..3c97b9cf3 100644 --- a/src/qibocal/protocols/rabi/length_sequences.py +++ b/src/qibocal/protocols/rabi/length_sequences.py @@ -1,6 +1,5 @@ import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform +from qibolab import AcquisitionType, AveragingMode, ExecutionParameters, Platform from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index fc0ad3e50..8067483c0 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -3,9 +3,14 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index ec7d31fe2..2b62862c9 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -1,9 +1,7 @@ import numpy as np import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.platform import Platform -from qibolab.pulses import Delay -from qibolab.sequence import PulseSequence +from qibolab import Delay, Platform, PulseSequence from scipy.optimize import curve_fit from qibocal.auto.operation import Parameters, QubitId diff --git a/src/qibocal/protocols/ramsey/ramsey.py b/src/qibocal/protocols/ramsey/ramsey.py index 7a1b8c512..50eb6bb18 100644 --- a/src/qibocal/protocols/ramsey/ramsey.py +++ b/src/qibocal/protocols/ramsey/ramsey.py @@ -4,10 +4,15 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal.auto.operation import QubitId, Routine from qibocal.config import log diff --git a/src/qibocal/protocols/ramsey/ramsey_signal.py b/src/qibocal/protocols/ramsey/ramsey_signal.py index 66d06ad63..d65e5db99 100644 --- a/src/qibocal/protocols/ramsey/ramsey_signal.py +++ b/src/qibocal/protocols/ramsey/ramsey_signal.py @@ -4,10 +4,15 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/ramsey/utils.py b/src/qibocal/protocols/ramsey/utils.py index 07bc35b03..960000c79 100644 --- a/src/qibocal/protocols/ramsey/utils.py +++ b/src/qibocal/protocols/ramsey/utils.py @@ -1,8 +1,7 @@ from typing import Optional import numpy as np -from qibolab import Platform -from qibolab.sequence import PulseSequence +from qibolab import Platform, PulseSequence from scipy.optimize import curve_fit from qibocal.auto.operation import QubitId diff --git a/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py b/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py index 336bf73ac..80b5a3bb3 100644 --- a/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py +++ b/src/qibocal/protocols/randomized_benchmarking/filtered_rb.py @@ -2,7 +2,7 @@ import numpy as np import plotly.graph_objects as go -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import QubitId, Results, Routine from qibocal.protocols.randomized_benchmarking.utils import rb_acquisition diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb.py index 630b33d7c..ea6fb0c89 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb.py @@ -3,7 +3,7 @@ import numpy as np import plotly.graph_objects as go -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import Parameters, QubitId, Routine diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py index 2144f5ab7..30df76ba1 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q.py @@ -1,6 +1,6 @@ from dataclasses import dataclass -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import QubitPairId, Routine from qibocal.protocols.randomized_benchmarking.standard_rb import ( diff --git a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py index 9e80ef687..bc55ecd81 100644 --- a/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py +++ b/src/qibocal/protocols/randomized_benchmarking/standard_rb_2q_inter.py @@ -1,7 +1,7 @@ from dataclasses import dataclass, fields import numpy as np -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import QubitPairId, Routine from qibocal.protocols.randomized_benchmarking.standard_rb import _plot diff --git a/src/qibocal/protocols/randomized_benchmarking/utils.py b/src/qibocal/protocols/randomized_benchmarking/utils.py index 868390096..0f652a129 100644 --- a/src/qibocal/protocols/randomized_benchmarking/utils.py +++ b/src/qibocal/protocols/randomized_benchmarking/utils.py @@ -10,7 +10,7 @@ from qibo.backends import GlobalBackend from qibo.config import raise_error from qibo.models import Circuit -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import Data, Parameters, QubitId, QubitPairId, Results from qibocal.auto.transpile import ( diff --git a/src/qibocal/protocols/readout_characterization.py b/src/qibocal/protocols/readout_characterization.py index 5f9fff302..ace630a24 100644 --- a/src/qibocal/protocols/readout_characterization.py +++ b/src/qibocal/protocols/readout_characterization.py @@ -4,9 +4,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import AcquisitionType, ExecutionParameters, Platform, PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/readout_mitigation_matrix.py b/src/qibocal/protocols/readout_mitigation_matrix.py index 80112adf5..cb1e67d2a 100644 --- a/src/qibocal/protocols/readout_mitigation_matrix.py +++ b/src/qibocal/protocols/readout_mitigation_matrix.py @@ -7,9 +7,7 @@ from qibo import gates from qibo.backends import GlobalBackend from qibo.models import Circuit -from qibolab import ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ExecutionParameters, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit diff --git a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py index 53ab5fafa..a22cda889 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py +++ b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py @@ -5,9 +5,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import AcquisitionType, ExecutionParameters, Platform, PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/resonator_frequency.py b/src/qibocal/protocols/readout_optimization/resonator_frequency.py index ad7cf1a2f..4ad18a32a 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_frequency.py +++ b/src/qibocal/protocols/readout_optimization/resonator_frequency.py @@ -4,10 +4,14 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py index d8086b234..d097c35a9 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency.py @@ -3,7 +3,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab.platform import Platform +from qibolab import Platform from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py index da340c1f5..ca6c55b19 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_SNR.py @@ -5,7 +5,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.resonator_spectroscopy import resonator_spectroscopy diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py index 0b08fbc0b..d69661d08 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/frequency_power.py @@ -3,7 +3,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab.platform import Platform +from qibolab import Platform from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py index da88b51ff..58a6e3326 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/power.py @@ -2,7 +2,7 @@ import numpy as np import plotly.graph_objects as go -from qibolab.platform import Platform +from qibolab import Platform from qibocal import update from qibocal.auto.operation import Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py b/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py index 87f84d5c3..aa2b4f4e3 100644 --- a/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py +++ b/src/qibocal/protocols/readout_optimization/twpa_calibration/power_SNR.py @@ -5,7 +5,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.resonator_spectroscopy import resonator_spectroscopy diff --git a/src/qibocal/protocols/resonator_punchout.py b/src/qibocal/protocols/resonator_punchout.py index dcd039edd..8f399c7e9 100644 --- a/src/qibocal/protocols/resonator_punchout.py +++ b/src/qibocal/protocols/resonator_punchout.py @@ -5,10 +5,15 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/resonator_punchout_attenuation.py b/src/qibocal/protocols/resonator_punchout_attenuation.py index 33479b84c..c048fe678 100644 --- a/src/qibocal/protocols/resonator_punchout_attenuation.py +++ b/src/qibocal/protocols/resonator_punchout_attenuation.py @@ -5,10 +5,15 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index ef43473b7..8fc1de76b 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -5,9 +5,7 @@ import numpy as np import numpy.typing as npt from _collections_abc import Callable -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import Parameter, Platform, PulseSequence, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py index aea1de374..4021148ed 100644 --- a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py +++ b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py @@ -5,9 +5,13 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py index 7cc858f7d..3fe1cbcdf 100644 --- a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py +++ b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py @@ -4,9 +4,13 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Platform, + PulseSequence, +) from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.utils import S_TO_NS, table_dict, table_html diff --git a/src/qibocal/protocols/state_tomography.py b/src/qibocal/protocols/state_tomography.py index 30556ef58..f0349903c 100644 --- a/src/qibocal/protocols/state_tomography.py +++ b/src/qibocal/protocols/state_tomography.py @@ -10,7 +10,7 @@ from qibo import Circuit, gates from qibo.backends import GlobalBackend, NumpyBackend, matrices from qibo.quantum_info import fidelity -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import DATAFILE, Data, Parameters, QubitId, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py index a44129491..e700b2f59 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py @@ -7,9 +7,14 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py index 2c88d8ff4..5a1e53d3b 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py @@ -4,9 +4,14 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal.auto.operation import QubitPairId, Routine diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py b/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py index e0247c1b7..894d00780 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/utils.py @@ -1,6 +1,5 @@ import numpy as np -from qibolab.platform import Platform -from qibolab.sequence import PulseSequence +from qibolab import Platform, PulseSequence from qibocal.auto.operation import QubitPairId diff --git a/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py b/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py index 314083922..0d1e9b157 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py +++ b/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py @@ -9,8 +9,7 @@ import numpy.typing as npt import plotly.graph_objects as go from qibo.backends import GlobalBackend -from qibolab import ExecutionParameters -from qibolab.platform import Platform +from qibolab import ExecutionParameters, Platform from qibocal.auto.operation import ( Data, diff --git a/src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py b/src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py index 8beabcbc6..5c0b693e2 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py +++ b/src/qibocal/protocols/two_qubit_interaction/chsh/pulses.py @@ -3,7 +3,7 @@ from collections import defaultdict import numpy as np -from qibolab.sequence import PulseSequence +from qibolab import PulseSequence from .utils import READOUT_BASIS diff --git a/src/qibocal/protocols/two_qubit_interaction/optimize.py b/src/qibocal/protocols/two_qubit_interaction/optimize.py index c18319731..82ef00fbd 100644 --- a/src/qibocal/protocols/two_qubit_interaction/optimize.py +++ b/src/qibocal/protocols/two_qubit_interaction/optimize.py @@ -7,9 +7,14 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/two_qubit_interaction/utils.py b/src/qibocal/protocols/two_qubit_interaction/utils.py index e9d5b8b3f..cad8b0d6e 100644 --- a/src/qibocal/protocols/two_qubit_interaction/utils.py +++ b/src/qibocal/protocols/two_qubit_interaction/utils.py @@ -1,5 +1,5 @@ import numpy as np -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import QubitId, QubitPairId diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py index 8c6c6f281..92635aaab 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py @@ -7,11 +7,16 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.pulses import Pulse -from qibolab.sequence import PulseSequence -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Pulse, + PulseSequence, + Sweeper, +) from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py index dce03d50d..cf89d1be4 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py @@ -3,9 +3,14 @@ from dataclasses import dataclass import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters -from qibolab.platform import Platform -from qibolab.sweeper import Parameter, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + ExecutionParameters, + Parameter, + Platform, + Sweeper, +) from qibocal.auto.operation import QubitPairId, Routine diff --git a/src/qibocal/protocols/two_qubit_state_tomography.py b/src/qibocal/protocols/two_qubit_state_tomography.py index 356c16840..89f026cff 100644 --- a/src/qibocal/protocols/two_qubit_state_tomography.py +++ b/src/qibocal/protocols/two_qubit_state_tomography.py @@ -12,7 +12,7 @@ from qibo.backends import GlobalBackend, NumpyBackend from qibo.quantum_info import fidelity from qibo.result import QuantumState -from qibolab.platform import Platform +from qibolab import Platform from qibocal.auto.operation import ( DATAFILE, diff --git a/src/qibocal/update.py b/src/qibocal/update.py index 21a5d3112..05ac74758 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -4,8 +4,7 @@ from typing import Union import numpy as np -from qibolab import pulses -from qibolab.platform import Platform +from qibolab import Platform, pulses from qibocal.auto.operation import QubitId, QubitPairId diff --git a/tests/test_update.py b/tests/test_update.py index b183cc232..ef8f6c7b9 100644 --- a/tests/test_update.py +++ b/tests/test_update.py @@ -5,9 +5,8 @@ import numpy as np import pytest -from qibolab import create_platform +from qibolab import Drag, create_platform from qibolab.native import VirtualZPulse -from qibolab.pulses import Drag from qibocal import update from qibocal.protocols.signal_experiments.calibrate_state_discrimination import ( From 158c7564d5d902d7f8d5d4e27e6a4165436f050b Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Wed, 18 Sep 2024 19:16:17 +0400 Subject: [PATCH 33/38] refactor: use sequence creation helpers in single shot routine --- src/qibocal/protocols/classification.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index ee3edf199..8f3eeafc2 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -7,7 +7,7 @@ import numpy.typing as npt import pandas as pd import plotly.graph_objects as go -from qibolab import AcquisitionType, Delay, ExecutionParameters, Platform, PulseSequence +from qibolab import AcquisitionType, ExecutionParameters, Platform, PulseSequence from sklearn.metrics import roc_auc_score, roc_curve from qibocal import update @@ -188,21 +188,19 @@ def _acquisition( # state1_sequence: RX - MZ # taking advantage of multiplexing, apply the same set of gates to all qubits in parallel + native = platform.natives.single_qubit sequences, all_ro_pulses = [], [] for state in [0, 1]: - sequence = PulseSequence() ro_pulses = {} + sequence = PulseSequence() for q in targets: - native = platform.natives.single_qubit[q] - rx_sequence = native.RX.create_sequence(theta=np.pi, phi=0) - ro_sequence = native.MZ.create_sequence() - if state == 1: - sequence.extend(rx_sequence) - - qubit = platform.qubits[q] - sequence.append((qubit.acquisition, Delay(duration=rx_sequence.duration))) - sequence.extend(ro_sequence) + ro_sequence = native.MZ() ro_pulses[q] = ro_sequence[0][1].id + sequence += ro_sequence + + if state == 1: + rx_sequence = sum([native[q].RX() for q in targets], PulseSequence) + sequence = rx_sequence | sequence sequences.append(sequence) all_ro_pulses.append(ro_pulses) From f378a4588bac056f30c740447f151e7db6e1a789 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Wed, 18 Sep 2024 19:21:26 +0400 Subject: [PATCH 34/38] fix: fixes for hardware execution --- src/qibocal/protocols/classification.py | 6 ++++-- src/qibocal/update.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 8f3eeafc2..0ccb0e049 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -194,12 +194,14 @@ def _acquisition( ro_pulses = {} sequence = PulseSequence() for q in targets: - ro_sequence = native.MZ() + ro_sequence = native[q].MZ() ro_pulses[q] = ro_sequence[0][1].id sequence += ro_sequence if state == 1: - rx_sequence = sum([native[q].RX() for q in targets], PulseSequence) + rx_sequence = PulseSequence() + for q in targets: + rx_sequence += native[q].RX() sequence = rx_sequence | sequence sequences.append(sequence) diff --git a/src/qibocal/update.py b/src/qibocal/update.py index 05ac74758..e523b509e 100644 --- a/src/qibocal/update.py +++ b/src/qibocal/update.py @@ -4,7 +4,7 @@ from typing import Union import numpy as np -from qibolab import Platform, pulses +from qibolab import Platform from qibocal.auto.operation import QubitId, QubitPairId From 4ff947a259959b18c009eef4bf8c11b013cdae44 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:22:54 +0400 Subject: [PATCH 35/38] chore: drop usage of ExecutionParameters --- src/qibocal/auto/operation.py | 2 +- src/qibocal/protocols/allxy/allxy.py | 2 +- .../allxy/allxy_drag_pulse_tuning.py | 2 +- .../allxy/allxy_resonator_depletion_tuning.py | 2 +- src/qibocal/protocols/classification.py | 8 ++++---- src/qibocal/protocols/coherence/spin_echo.py | 8 +------- .../protocols/coherence/spin_echo_signal.py | 8 +------- src/qibocal/protocols/coherence/t1.py | 1 - .../protocols/coherence/t1_sequences.py | 8 +------- src/qibocal/protocols/coherence/t1_signal.py | 1 - src/qibocal/protocols/coherence/t2.py | 1 - .../protocols/coherence/t2_sequences.py | 8 +------- src/qibocal/protocols/coherence/t2_signal.py | 1 - src/qibocal/protocols/coherence/zeno.py | 8 +------- .../protocols/coherence/zeno_signal.py | 8 +------- .../protocols/couplers/coupler_chevron.py | 1 - .../couplers/coupler_qubit_spectroscopy.py | 1 - .../coupler_resonator_spectroscopy.py | 1 - src/qibocal/protocols/dispersive_shift.py | 1 - .../protocols/dispersive_shift_qutrit.py | 1 - src/qibocal/protocols/drag.py | 8 +------- .../protocols/fast_reset/fast_reset.py | 2 +- src/qibocal/protocols/flipping.py | 8 +------- src/qibocal/protocols/flipping_signal.py | 8 +------- .../flux_dependence/qubit_crosstalk.py | 1 - .../flux_dependence/qubit_flux_dependence.py | 1 - .../flux_dependence/qubit_flux_tracking.py | 1 - .../flux_dependence/resonator_crosstalk.py | 1 - .../resonator_flux_dependence.py | 1 - .../protocols/qubit_power_spectroscopy.py | 1 - .../protocols/qutrit_classification.py | 2 +- src/qibocal/protocols/rabi/amplitude.py | 19 +++++-------------- .../protocols/rabi/amplitude_frequency.py | 9 +-------- .../rabi/amplitude_frequency_signal.py | 9 +-------- .../protocols/rabi/amplitude_signal.py | 19 +++++-------------- src/qibocal/protocols/rabi/ef.py | 1 - src/qibocal/protocols/rabi/length.py | 19 +++++-------------- .../protocols/rabi/length_frequency.py | 9 +-------- .../protocols/rabi/length_frequency_signal.py | 9 +-------- .../protocols/rabi/length_sequences.py | 2 +- src/qibocal/protocols/rabi/length_signal.py | 19 +++++-------------- src/qibocal/protocols/ramsey/ramsey.py | 1 - src/qibocal/protocols/ramsey/ramsey_signal.py | 1 - .../protocols/readout_characterization.py | 2 +- .../protocols/readout_mitigation_matrix.py | 2 +- .../resonator_amplitude.py | 2 +- .../resonator_frequency.py | 9 +-------- src/qibocal/protocols/resonator_punchout.py | 1 - .../resonator_punchout_attenuation.py | 1 - .../calibrate_state_discrimination.py | 8 +------- .../time_of_flight_readout.py | 8 +------- .../two_qubit_interaction/chevron/chevron.py | 9 +-------- .../chevron/chevron_signal.py | 9 +-------- .../two_qubit_interaction/chsh/protocol.py | 2 +- .../two_qubit_interaction/optimize.py | 9 +-------- .../two_qubit_interaction/virtual_z_phases.py | 1 - .../virtual_z_phases_signal.py | 9 +-------- 57 files changed, 55 insertions(+), 241 deletions(-) diff --git a/src/qibocal/auto/operation.py b/src/qibocal/auto/operation.py index 2f3c8502e..83e192acd 100644 --- a/src/qibocal/auto/operation.py +++ b/src/qibocal/auto/operation.py @@ -9,7 +9,7 @@ import numpy as np import numpy.typing as npt -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters, Platform, Qubit +from qibolab import AcquisitionType, AveragingMode, Platform, Qubit from qibocal.config import log diff --git a/src/qibocal/protocols/allxy/allxy.py b/src/qibocal/protocols/allxy/allxy.py index 15527bd6f..d2c89b935 100644 --- a/src/qibocal/protocols/allxy/allxy.py +++ b/src/qibocal/protocols/allxy/allxy.py @@ -3,7 +3,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AveragingMode, ExecutionParameters, Platform, PulseSequence +from qibolab import AveragingMode, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py index d15487991..deb4ee6b7 100644 --- a/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_drag_pulse_tuning.py @@ -4,7 +4,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AveragingMode, ExecutionParameters, Platform, PulseSequence +from qibolab import AveragingMode, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py index a5b70be6e..11de25b95 100644 --- a/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py +++ b/src/qibocal/protocols/allxy/allxy_resonator_depletion_tuning.py @@ -4,7 +4,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import AveragingMode, ExecutionParameters, Platform, PulseSequence +from qibolab import AveragingMode, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/classification.py b/src/qibocal/protocols/classification.py index 0ccb0e049..59eb3dc9a 100644 --- a/src/qibocal/protocols/classification.py +++ b/src/qibocal/protocols/classification.py @@ -7,7 +7,7 @@ import numpy.typing as npt import pandas as pd import plotly.graph_objects as go -from qibolab import AcquisitionType, ExecutionParameters, Platform, PulseSequence +from qibolab import AcquisitionType, Platform, PulseSequence from sklearn.metrics import roc_auc_score, roc_curve from qibocal import update @@ -217,18 +217,18 @@ def _acquisition( savedir=params.savedir, ) - options = ExecutionParameters( + options = dict( nshots=params.nshots, relaxation_time=params.relaxation_time, acquisition_type=AcquisitionType.INTEGRATION, ) if params.unrolling: - results = platform.execute(sequences, options) + results = platform.execute(sequences, **options) else: results = {} for sequence in sequences: - results.update(platform.execute([sequence], options)) + results.update(platform.execute([sequence], **options)) for state, ro_pulses in zip([0, 1], all_ro_pulses): for qubit in targets: diff --git a/src/qibocal/protocols/coherence/spin_echo.py b/src/qibocal/protocols/coherence/spin_echo.py index c359cf7d2..8193a6866 100644 --- a/src/qibocal/protocols/coherence/spin_echo.py +++ b/src/qibocal/protocols/coherence/spin_echo.py @@ -4,13 +4,7 @@ import numpy as np import plotly.graph_objects as go -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/spin_echo_signal.py b/src/qibocal/protocols/coherence/spin_echo_signal.py index f5966aba6..e8a7d93bd 100644 --- a/src/qibocal/protocols/coherence/spin_echo_signal.py +++ b/src/qibocal/protocols/coherence/spin_echo_signal.py @@ -4,13 +4,7 @@ import numpy as np import plotly.graph_objects as go -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from qibocal import update from qibocal.auto.operation import Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/coherence/t1.py b/src/qibocal/protocols/coherence/t1.py index 99e4aeaa7..147261ce5 100644 --- a/src/qibocal/protocols/coherence/t1.py +++ b/src/qibocal/protocols/coherence/t1.py @@ -7,7 +7,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/coherence/t1_sequences.py b/src/qibocal/protocols/coherence/t1_sequences.py index 9992d966e..631684ddb 100644 --- a/src/qibocal/protocols/coherence/t1_sequences.py +++ b/src/qibocal/protocols/coherence/t1_sequences.py @@ -1,11 +1,5 @@ import numpy as np -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/t1_signal.py b/src/qibocal/protocols/coherence/t1_signal.py index 57fad160e..a51c098ad 100644 --- a/src/qibocal/protocols/coherence/t1_signal.py +++ b/src/qibocal/protocols/coherence/t1_signal.py @@ -8,7 +8,6 @@ AcquisitionType, AveragingMode, Delay, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/coherence/t2.py b/src/qibocal/protocols/coherence/t2.py index 5ca3c1337..5877a66c3 100644 --- a/src/qibocal/protocols/coherence/t2.py +++ b/src/qibocal/protocols/coherence/t2.py @@ -6,7 +6,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/coherence/t2_sequences.py b/src/qibocal/protocols/coherence/t2_sequences.py index 5d56bc35d..02cf54d40 100644 --- a/src/qibocal/protocols/coherence/t2_sequences.py +++ b/src/qibocal/protocols/coherence/t2_sequences.py @@ -1,11 +1,5 @@ import numpy as np -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/t2_signal.py b/src/qibocal/protocols/coherence/t2_signal.py index bc39e8361..1a40649ee 100644 --- a/src/qibocal/protocols/coherence/t2_signal.py +++ b/src/qibocal/protocols/coherence/t2_signal.py @@ -7,7 +7,6 @@ AcquisitionType, AveragingMode, Delay, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/coherence/zeno.py b/src/qibocal/protocols/coherence/zeno.py index c3873d66d..8ae0e8f58 100644 --- a/src/qibocal/protocols/coherence/zeno.py +++ b/src/qibocal/protocols/coherence/zeno.py @@ -3,13 +3,7 @@ import numpy as np import plotly.graph_objects as go -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/coherence/zeno_signal.py b/src/qibocal/protocols/coherence/zeno_signal.py index 19a24bb4e..126b24e4e 100644 --- a/src/qibocal/protocols/coherence/zeno_signal.py +++ b/src/qibocal/protocols/coherence/zeno_signal.py @@ -3,13 +3,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/couplers/coupler_chevron.py b/src/qibocal/protocols/couplers/coupler_chevron.py index b2691f2e6..2ea9dd2d7 100644 --- a/src/qibocal/protocols/couplers/coupler_chevron.py +++ b/src/qibocal/protocols/couplers/coupler_chevron.py @@ -5,7 +5,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py index f028ab707..a49217324 100644 --- a/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_qubit_spectroscopy.py @@ -4,7 +4,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py index 034a0b74a..a1eb18bff 100644 --- a/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py +++ b/src/qibocal/protocols/couplers/coupler_resonator_spectroscopy.py @@ -2,7 +2,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/dispersive_shift.py b/src/qibocal/protocols/dispersive_shift.py index 0d20fdaf2..0847e3407 100644 --- a/src/qibocal/protocols/dispersive_shift.py +++ b/src/qibocal/protocols/dispersive_shift.py @@ -7,7 +7,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/dispersive_shift_qutrit.py b/src/qibocal/protocols/dispersive_shift_qutrit.py index 520d80488..d000df6ff 100644 --- a/src/qibocal/protocols/dispersive_shift_qutrit.py +++ b/src/qibocal/protocols/dispersive_shift_qutrit.py @@ -7,7 +7,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/drag.py b/src/qibocal/protocols/drag.py index bbbb21065..e892863d6 100644 --- a/src/qibocal/protocols/drag.py +++ b/src/qibocal/protocols/drag.py @@ -4,13 +4,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/fast_reset/fast_reset.py b/src/qibocal/protocols/fast_reset/fast_reset.py index 216457e78..a46354332 100644 --- a/src/qibocal/protocols/fast_reset/fast_reset.py +++ b/src/qibocal/protocols/fast_reset/fast_reset.py @@ -4,7 +4,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ExecutionParameters, Platform, PulseSequence +from qibolab import Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.utils import table_dict, table_html diff --git a/src/qibocal/protocols/flipping.py b/src/qibocal/protocols/flipping.py index c9efef4be..01e43de6e 100644 --- a/src/qibocal/protocols/flipping.py +++ b/src/qibocal/protocols/flipping.py @@ -3,13 +3,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from scipy.optimize import curve_fit from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/flipping_signal.py b/src/qibocal/protocols/flipping_signal.py index 1cb5b15df..aac719761 100644 --- a/src/qibocal/protocols/flipping_signal.py +++ b/src/qibocal/protocols/flipping_signal.py @@ -4,13 +4,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py index 1f3eee4f0..2c999ecff 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/qubit_crosstalk.py @@ -6,7 +6,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py index 6c354066f..b9a704d4b 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_dependence.py @@ -6,7 +6,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py index a2a75c197..3abad5040 100644 --- a/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py +++ b/src/qibocal/protocols/flux_dependence/qubit_flux_tracking.py @@ -4,7 +4,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py index 8858b6512..4eb905990 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py +++ b/src/qibocal/protocols/flux_dependence/resonator_crosstalk.py @@ -6,7 +6,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py index 92e4264ca..0e225ae4c 100644 --- a/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py +++ b/src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py @@ -6,7 +6,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/qubit_power_spectroscopy.py b/src/qibocal/protocols/qubit_power_spectroscopy.py index 4860eeb8a..ba83bcc81 100644 --- a/src/qibocal/protocols/qubit_power_spectroscopy.py +++ b/src/qibocal/protocols/qubit_power_spectroscopy.py @@ -7,7 +7,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/qutrit_classification.py b/src/qibocal/protocols/qutrit_classification.py index 210433dce..c2bca7dc6 100644 --- a/src/qibocal/protocols/qutrit_classification.py +++ b/src/qibocal/protocols/qutrit_classification.py @@ -2,7 +2,7 @@ from typing import Optional import numpy as np -from qibolab import AcquisitionType, ExecutionParameters, Platform, PulseSequence +from qibolab import AcquisitionType, Platform, PulseSequence from qibocal.auto.operation import QubitId, Routine from qibocal.fitting.classifier import run diff --git a/src/qibocal/protocols/rabi/amplitude.py b/src/qibocal/protocols/rabi/amplitude.py index 941e94630..1cd6ddda0 100644 --- a/src/qibocal/protocols/rabi/amplitude.py +++ b/src/qibocal/protocols/rabi/amplitude.py @@ -2,14 +2,7 @@ import numpy as np import numpy.typing as npt -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal import update from qibocal.auto.operation import Data, QubitId, Routine @@ -73,13 +66,11 @@ def _acquisition( # sweep the parameter results = platform.execute( [sequence], - ExecutionParameters( - nshots=params.nshots, - relaxation_time=params.relaxation_time, - acquisition_type=AcquisitionType.DISCRIMINATION, - averaging_mode=AveragingMode.SINGLESHOT, - ), [[sweeper]], + nshots=params.nshots, + relaxation_time=params.relaxation_time, + acquisition_type=AcquisitionType.DISCRIMINATION, + averaging_mode=AveragingMode.SINGLESHOT, ) for qubit in targets: prob = probability(results[ro_pulses[qubit].id], state=1) diff --git a/src/qibocal/protocols/rabi/amplitude_frequency.py b/src/qibocal/protocols/rabi/amplitude_frequency.py index 253a71d11..ee6dd8bd5 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency.py @@ -6,14 +6,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal.auto.operation import QubitId, Routine from qibocal.config import log diff --git a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py index d4741f273..e19d360c6 100644 --- a/src/qibocal/protocols/rabi/amplitude_frequency_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_frequency_signal.py @@ -7,14 +7,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Routine diff --git a/src/qibocal/protocols/rabi/amplitude_signal.py b/src/qibocal/protocols/rabi/amplitude_signal.py index 173797575..76bbbeab6 100644 --- a/src/qibocal/protocols/rabi/amplitude_signal.py +++ b/src/qibocal/protocols/rabi/amplitude_signal.py @@ -3,14 +3,7 @@ import numpy as np import numpy.typing as npt -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine @@ -88,13 +81,11 @@ def _acquisition( # sweep the parameter results = platform.execute( [sequence], - ExecutionParameters( - nshots=params.nshots, - relaxation_time=params.relaxation_time, - acquisition_type=AcquisitionType.INTEGRATION, - averaging_mode=AveragingMode.CYCLIC, - ), [[sweeper]], + nshots=params.nshots, + relaxation_time=params.relaxation_time, + acquisition_type=AcquisitionType.INTEGRATION, + averaging_mode=AveragingMode.CYCLIC, ) for qubit in targets: result = results[ro_pulses[qubit].id] diff --git a/src/qibocal/protocols/rabi/ef.py b/src/qibocal/protocols/rabi/ef.py index a583eaade..3cb64506b 100644 --- a/src/qibocal/protocols/rabi/ef.py +++ b/src/qibocal/protocols/rabi/ef.py @@ -4,7 +4,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/rabi/length.py b/src/qibocal/protocols/rabi/length.py index d1b5f03a3..e116153bd 100644 --- a/src/qibocal/protocols/rabi/length.py +++ b/src/qibocal/protocols/rabi/length.py @@ -3,14 +3,7 @@ import numpy as np import numpy.typing as npt -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal import update from qibocal.auto.operation import Parameters, QubitId, Routine @@ -97,13 +90,11 @@ def _acquisition( # execute the sweep results = platform.execute( [sequence], - ExecutionParameters( - nshots=params.nshots, - relaxation_time=params.relaxation_time, - acquisition_type=AcquisitionType.DISCRIMINATION, - averaging_mode=AveragingMode.SINGLESHOT, - ), [[sweeper]], + nshots=params.nshots, + relaxation_time=params.relaxation_time, + acquisition_type=AcquisitionType.DISCRIMINATION, + averaging_mode=AveragingMode.SINGLESHOT, ) for q in targets: diff --git a/src/qibocal/protocols/rabi/length_frequency.py b/src/qibocal/protocols/rabi/length_frequency.py index efc342b71..02e70ebd9 100644 --- a/src/qibocal/protocols/rabi/length_frequency.py +++ b/src/qibocal/protocols/rabi/length_frequency.py @@ -6,14 +6,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal.auto.operation import QubitId, Routine from qibocal.config import log diff --git a/src/qibocal/protocols/rabi/length_frequency_signal.py b/src/qibocal/protocols/rabi/length_frequency_signal.py index 1d1b42df6..9a74fca7e 100644 --- a/src/qibocal/protocols/rabi/length_frequency_signal.py +++ b/src/qibocal/protocols/rabi/length_frequency_signal.py @@ -7,14 +7,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Routine diff --git a/src/qibocal/protocols/rabi/length_sequences.py b/src/qibocal/protocols/rabi/length_sequences.py index 3c97b9cf3..105d15bca 100644 --- a/src/qibocal/protocols/rabi/length_sequences.py +++ b/src/qibocal/protocols/rabi/length_sequences.py @@ -1,5 +1,5 @@ import numpy as np -from qibolab import AcquisitionType, AveragingMode, ExecutionParameters, Platform +from qibolab import AcquisitionType, AveragingMode, Platform from qibocal.auto.operation import QubitId, Routine diff --git a/src/qibocal/protocols/rabi/length_signal.py b/src/qibocal/protocols/rabi/length_signal.py index 8067483c0..8a6107341 100644 --- a/src/qibocal/protocols/rabi/length_signal.py +++ b/src/qibocal/protocols/rabi/length_signal.py @@ -3,14 +3,7 @@ import numpy as np import numpy.typing as npt -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine @@ -100,13 +93,11 @@ def _acquisition( # execute the sweep results = platform.execute( [sequence], - ExecutionParameters( - nshots=params.nshots, - relaxation_time=params.relaxation_time, - acquisition_type=AcquisitionType.INTEGRATION, - averaging_mode=AveragingMode.CYCLIC, - ), [[sweeper]], + nshots=params.nshots, + relaxation_time=params.relaxation_time, + acquisition_type=AcquisitionType.INTEGRATION, + averaging_mode=AveragingMode.CYCLIC, ) for q in targets: diff --git a/src/qibocal/protocols/ramsey/ramsey.py b/src/qibocal/protocols/ramsey/ramsey.py index 50eb6bb18..d3b252239 100644 --- a/src/qibocal/protocols/ramsey/ramsey.py +++ b/src/qibocal/protocols/ramsey/ramsey.py @@ -7,7 +7,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/ramsey/ramsey_signal.py b/src/qibocal/protocols/ramsey/ramsey_signal.py index d65e5db99..8b8df2f98 100644 --- a/src/qibocal/protocols/ramsey/ramsey_signal.py +++ b/src/qibocal/protocols/ramsey/ramsey_signal.py @@ -7,7 +7,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/readout_characterization.py b/src/qibocal/protocols/readout_characterization.py index ace630a24..223e5393c 100644 --- a/src/qibocal/protocols/readout_characterization.py +++ b/src/qibocal/protocols/readout_characterization.py @@ -4,7 +4,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, ExecutionParameters, Platform, PulseSequence +from qibolab import AcquisitionType, Platform, PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/readout_mitigation_matrix.py b/src/qibocal/protocols/readout_mitigation_matrix.py index cb1e67d2a..29d002f62 100644 --- a/src/qibocal/protocols/readout_mitigation_matrix.py +++ b/src/qibocal/protocols/readout_mitigation_matrix.py @@ -7,7 +7,7 @@ from qibo import gates from qibo.backends import GlobalBackend from qibo.models import Circuit -from qibolab import ExecutionParameters, Platform, PulseSequence +from qibolab import Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.auto.transpile import dummy_transpiler, execute_transpiled_circuit diff --git a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py index a22cda889..6abd43ac7 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_amplitude.py +++ b/src/qibocal/protocols/readout_optimization/resonator_amplitude.py @@ -5,7 +5,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import AcquisitionType, ExecutionParameters, Platform, PulseSequence +from qibolab import AcquisitionType, Platform, PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/readout_optimization/resonator_frequency.py b/src/qibocal/protocols/readout_optimization/resonator_frequency.py index 4ad18a32a..9bac21344 100644 --- a/src/qibocal/protocols/readout_optimization/resonator_frequency.py +++ b/src/qibocal/protocols/readout_optimization/resonator_frequency.py @@ -4,14 +4,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ( - AcquisitionType, - ExecutionParameters, - Parameter, - Platform, - PulseSequence, - Sweeper, -) +from qibolab import AcquisitionType, Parameter, Platform, PulseSequence, Sweeper from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/resonator_punchout.py b/src/qibocal/protocols/resonator_punchout.py index 8f399c7e9..e7b5c7090 100644 --- a/src/qibocal/protocols/resonator_punchout.py +++ b/src/qibocal/protocols/resonator_punchout.py @@ -8,7 +8,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/resonator_punchout_attenuation.py b/src/qibocal/protocols/resonator_punchout_attenuation.py index c048fe678..7a070b4b3 100644 --- a/src/qibocal/protocols/resonator_punchout_attenuation.py +++ b/src/qibocal/protocols/resonator_punchout_attenuation.py @@ -8,7 +8,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, PulseSequence, diff --git a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py index 4021148ed..9e7966a73 100644 --- a/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py +++ b/src/qibocal/protocols/signal_experiments/calibrate_state_discrimination.py @@ -5,13 +5,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine diff --git a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py index 3fe1cbcdf..1b35cf34a 100644 --- a/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py +++ b/src/qibocal/protocols/signal_experiments/time_of_flight_readout.py @@ -4,13 +4,7 @@ import numpy as np import numpy.typing as npt import plotly.graph_objects as go -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Platform, - PulseSequence, -) +from qibolab import AcquisitionType, AveragingMode, Platform, PulseSequence from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine from qibocal.protocols.utils import S_TO_NS, table_dict, table_html diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py index e700b2f59..67cbff669 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron.py @@ -7,14 +7,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py index 5a1e53d3b..11b5baa6e 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/chevron/chevron_signal.py @@ -4,14 +4,7 @@ import numpy as np import numpy.typing as npt -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal.auto.operation import QubitPairId, Routine diff --git a/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py b/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py index 0d1e9b157..10a57b763 100644 --- a/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py +++ b/src/qibocal/protocols/two_qubit_interaction/chsh/protocol.py @@ -9,7 +9,7 @@ import numpy.typing as npt import plotly.graph_objects as go from qibo.backends import GlobalBackend -from qibolab import ExecutionParameters, Platform +from qibolab import Platform from qibocal.auto.operation import ( Data, diff --git a/src/qibocal/protocols/two_qubit_interaction/optimize.py b/src/qibocal/protocols/two_qubit_interaction/optimize.py index 82ef00fbd..ac7167f80 100644 --- a/src/qibocal/protocols/two_qubit_interaction/optimize.py +++ b/src/qibocal/protocols/two_qubit_interaction/optimize.py @@ -7,14 +7,7 @@ import numpy.typing as npt import plotly.graph_objects as go from plotly.subplots import make_subplots -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from scipy.optimize import curve_fit from qibocal import update diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py index 92635aaab..e5d34ca9b 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases.py @@ -10,7 +10,6 @@ from qibolab import ( AcquisitionType, AveragingMode, - ExecutionParameters, Parameter, Platform, Pulse, diff --git a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py index cf89d1be4..b2a610d50 100644 --- a/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py +++ b/src/qibocal/protocols/two_qubit_interaction/virtual_z_phases_signal.py @@ -3,14 +3,7 @@ from dataclasses import dataclass import numpy as np -from qibolab import ( - AcquisitionType, - AveragingMode, - ExecutionParameters, - Parameter, - Platform, - Sweeper, -) +from qibolab import AcquisitionType, AveragingMode, Parameter, Platform, Sweeper from qibocal.auto.operation import QubitPairId, Routine From 7fbd6374adf6306cc24bf340d0af8bffb0a2ea81 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:25:12 +0400 Subject: [PATCH 36/38] fix: drop ExecutionParameters from Parameters --- src/qibocal/auto/operation.py | 2 +- src/qibocal/protocols/resonator_spectroscopy.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qibocal/auto/operation.py b/src/qibocal/auto/operation.py index 83e192acd..b00eb6003 100644 --- a/src/qibocal/auto/operation.py +++ b/src/qibocal/auto/operation.py @@ -112,7 +112,7 @@ def execution_parameters(self): if self.classify else AcquisitionType.INTEGRATION ) - return ExecutionParameters( + return dict( nshots=self.nshots, relaxation_time=self.relaxation_time, acquisition_type=acquisition_type, diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index 8fc1de76b..915e5a75a 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -229,8 +229,8 @@ def _acquisition( results = platform.execute( [sequence], - params.execution_parameters, [sweepers], + **params.execution_parameters, ) # retrieve the results for every qubit From fb7546598878547baa16201434c4c75fe1e79e2e Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:43:39 +0400 Subject: [PATCH 37/38] fix: drop create_sequence --- src/qibocal/protocols/rabi/utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qibocal/protocols/rabi/utils.py b/src/qibocal/protocols/rabi/utils.py index 2b62862c9..e7b3cc0d5 100644 --- a/src/qibocal/protocols/rabi/utils.py +++ b/src/qibocal/protocols/rabi/utils.py @@ -231,8 +231,8 @@ def sequence_amplitude( durations = {} for q in targets: natives = platform.natives.single_qubit[q] - qd_sequence = natives.RX.create_sequence(theta=np.pi, phi=0) - ro_sequence = natives.MZ.create_sequence() + qd_sequence = natives.RX() + ro_sequence = natives.MZ() qd_pulses[q] = qd_sequence[0][1] if params.pulse_length is not None: @@ -262,8 +262,8 @@ def sequence_length( amplitudes = {} for q in targets: natives = platform.natives.single_qubit[q] - qd_sequence = natives.RX.create_sequence(theta=np.pi, phi=0) - ro_sequence = natives.MZ.create_sequence() + qd_sequence = natives.RX() + ro_sequence = natives.MZ() qd_pulses[q] = qd_sequence[0][1] if params.pulse_amplitude is not None: From 1cf3bdd6d1546edd5a90f3570b3786aec4cec33b Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Fri, 20 Sep 2024 14:26:42 +0400 Subject: [PATCH 38/38] fix: resonator spectroscopy errors --- .../protocols/resonator_spectroscopy.py | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/qibocal/protocols/resonator_spectroscopy.py b/src/qibocal/protocols/resonator_spectroscopy.py index 915e5a75a..bdf75bcce 100644 --- a/src/qibocal/protocols/resonator_spectroscopy.py +++ b/src/qibocal/protocols/resonator_spectroscopy.py @@ -5,7 +5,14 @@ import numpy as np import numpy.typing as npt from _collections_abc import Callable -from qibolab import Parameter, Platform, PulseSequence, Sweeper +from qibolab import ( + AcquisitionType, + AveragingMode, + Parameter, + Platform, + PulseSequence, + Sweeper, +) from qibocal import update from qibocal.auto.operation import Data, Parameters, QubitId, Results, Routine @@ -230,23 +237,28 @@ def _acquisition( results = platform.execute( [sequence], [sweepers], - **params.execution_parameters, + nshots=params.nshots, + relaxation_time=params.relaxation_time, + acquisition_type=AcquisitionType.INTEGRATION, + averaging_mode=AveragingMode.SINGLESHOT, ) # retrieve the results for every qubit for q in targets: - result = results[ro_pulses[q].id][0] + result = results[ro_pulses[q].id] # store the results ro_frequency = platform.config(platform.qubits[q].probe).frequency + signal = magnitude(result) + phase_ = phase(result) data.register_qubit( ResSpecType, (q), dict( - signal=magnitude(result), - phase=phase(result), + signal=signal.mean(axis=0), + phase=phase_.mean(axis=0), freq=delta_frequency_range + ro_frequency, - # error_signal=error_signal, - # error_phase=error_phase, + error_signal=np.std(signal, axis=0, ddof=1) / np.sqrt(signal.shape[0]), + error_phase=np.std(phase_, axis=0, ddof=1) / np.sqrt(phase_.shape[0]), ), ) return data