A comprehensive package for calibrating and characterizing superconducting qubits using the QICK (Quantum Instrumentation Control Kit) framework. Note: Primary authorship of the READMEs and comments belongs to Cline; but they have largely been checked for accuracy and edited as needed.
This package provides tools and utilities for calibrating and characterizing superconducting qubits using the QICK framework. It includes a wide range of experiments for measuring qubit parameters, optimizing control pulses, and characterizing qubit coherence. The package has been converted to a namespace package to allow importing functions and modules directly.
Key features:
- Single qubit characterization experiments (resonator spectroscopy, qubit spectroscopy, Rabi, T1, T2)
- Two qubit experiments
- Automated calibration workflows
- Data management and analysis tools
- Configuration management
For development, you can install the package in development mode:
# Clone the repository
git clone <repository-url>
cd slab_qick_calib
# Install in development mode
pip install -e .pip install .After installation, you can import the package and its modules:
# Import the package
import slab_qick_calib
# Import specific modules
from slab_qick_calib import calib
from slab_qick_calib import exp_handling
from slab_qick_calib import experiments
from slab_qick_calib import analysis
from slab_qick_calib import helpers
# Import experiments as a group (common pattern)
import slab_qick_calib.experiments as meas
# Import specific functions or classes
from slab_qick_calib.calib import qubit_tuning, measure_func
from slab_qick_calib.experiments.single_qubit import resonator_spectroscopy
from slab_qick_calib.experiments.general import qick_experiment
from slab_qick_calib.exp_handling.instrumentmanager import InstrumentManageranalysis/: Data analysis and fitting toolsfitting.py: Curve fitting functions for experiment dataqubit_params.py: Qubit parameter extraction and analysistime_series.py: Time series data analysis tools
calib/: Calibration modules for qubit tuningmeasure_func.py: Measurement functions for calibration, currently chi and temperaturequbit_tuning.py: Automated qubit tuning workflowsreadout_helpers.py: Readout utilitiestime_tracking.py: Time tracking for experiments
configs/: Configuration files for different systems- Various
.ymland.cfgfiles for instrument configurations
- Various
exp_handling/: Experiment handling modules for data management and analysis (slab files, so that you don't need to install slab)dataanalysis.py: Data analysis utilitiesdatamanagement.py: Data storage and retrievalexperiment.py: Base experiment classesinstrumentmanager.py: Instrument management and control
experiments/: Experiment implementationsgeneral/: Base classes for QICK experimentsqick_experiment.py: Base classes for single qubit QICK experimentsqick_experiment_2q.py: Base classes for two qubit QICK experimentsqick_program.py: Base classes for QICK programs
single_qubit/: Single qubit experimentsactive_reset.py: Checks of active qubit reset parameters, mostly not usedpulse_probe_spectroscopy.py: Measures qubit transition frequenciesrabi.py: Calibrates qubit control pulsesresonator_spectroscopy.py: Characterizes readout resonatorssingle_shot.py: Single-shot readout fidelitysingle_shot_opt.py: Optimizes single-shot readoutstark_spectroscopy.py: Measures AC Stark shifts, still writing up.t1.py: Measures energy relaxation timet1_cont.py: Fast continuous T1 measurementst1_stark.py: T1 measurements with Stark shifts of qubitt2.py: Measures phase coherence time (Ramsey and Echo)t2_ramsey_stark.py: Ramsey T2 with Stark shiftstof_calibration.py: Calibrates time of flight for readout
two_qubit/: Two qubit experimentsrabi_2q.py: Two-qubit Rabi oscillationst1_2q.py: Two-qubit T1 measurements
helpers/: Utility functions and configuration helpersconfig.py: Configuration file handlinghandy.py: General utility functionsqick_check.py: QICK system verification tools
notebooks/: Example notebooks and tutorials- Various Jupyter notebooks demonstrating package usage
For detailed documentation on the experiments, see README_experiments.md.
For detailed documentation on the config file, see config_manual.md.
For detailed documentation on the base classes, see README_classes.md.
For documentation on the process of tuning up qubits, see README_qubit_tuning.md.
For information on the structure of data that is saved, see README_data_structures.md.
You can verify that the package is installed correctly by importing it in Python:
import slab_qick_calib
print("Package imported successfully!")
# Test importing key modules
from slab_qick_calib import experiments, calib, exp_handling
print("Core modules imported successfully!")