Skip to main content

QICKoDeS

DOI PyPI version

A QCoDeS driver for QICK. Usable but still under active development. Pull requests are welcome!

Supports Python 3.10+

Development goals

  • This should be a thin wrapper that directly exposes all features of QICK.
  • Pulses ("instructions") and pulse sequences ("protocols") should be parameterized such that they can be fully reproduced based on the QCoDeS snapshot that gets saved with every dataset.

Status between tProc v1 and v2

Currently, tProc v1 is under maintenance mode where only bug fixes will be implemented. tProc v2 is what you should be using.

At some point, tProc v1 will be deprecated. If you find some bugs, please do report them in the issue tracker.

Installation

The authors recommend using uv inside a virtual environment.

uv venv my-environment
source my-environment/bin/activate
uv pip install qickodes

If you don't like using external packages,

python -m venv my-environment
source my-environment/bin/activate
pip install qickodes

Development

If you prefer using a more reproducible build, check locking and syncing with uv. This would install an editable installation of qickodes. Please only do this if you intend on modifying the source code and prefer to contribute upstream to this repository.

git clone https://github.com/aalto-qcd/qickodes.git
cd qickodes/
uv sync

This step would create a fresh virtual environment in qickodes/.venv/ if a virtual environment doesn't exist already. We recommend using a fresh venv for reproducibility.

Getting started

  1. Start the Pyro4 nameserver (see here, use port 8888) and the QICK server (see here) on a Xilinx board.
  2. Check the connection and the channel number assignment:
    from qickodes import QickInstrument
    qick_instrument = QickInstrument("ip.address.of.board")
    print(qick_instrument.soccfg)
    
  3. Copy the scripts in the folder example_scripts into your folder.
  4. Edit header.py:
    • Specify the IP address of the board by editing the line like
      qick_instrument = QickInstrument("ip.address.of.board")
      
    • Specify DAC/ADC channel numbers by editing the lines like
      readout_dac = qick_instrument.dacs[channel_number]
      
  5. Run the example scripts:

Citing

QICKoDeS is the work of Yoshiki Sunada, Ashish Panigrahi, Jonatan Albanese and Mikko Möttönen.

If you use QICKoDeS in your research, please cite it via its DOI:

Sunada, Y., Panigrahi, A., & Albanese, J., & Möttönen, M. QICKoDeS: A QCoDeS driver for QICK. Zenodo: https://doi.org/10.5281/zenodo.21066164

BibTeX entry:

@software{qickodes,
author = {Sunada, Yoshiki and Panigrahi, Ashish and Albanese, Jonatan and Möttönen, Mikko},
title = {{QICKoDeS}: A {QCoDeS} driver for {QICK}},
doi = {10.5281/zenodo.21066164},
title = {{qickodes}},
url = {https://doi.org/10.5281/zenodo.21066164},
year = {2026},
}

Metadata

Release files for qickodes 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qickodes 0.2.0
File Size Uploaded
qickodes-0.2.0.tar.gz 32.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qickodes 0.2.0
File Interpreter ABI Platform
qickodes-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 83.2 kB

Release files / qickodes-0.2.0.tar.gz

Download URL qickodes-0.2.0.tar.gz
Size 32.1 kB
Tags Source
SHA-256 checksum
How to use checksums
37bdaa884dc1a12d5db0c72cd3c19fe7d6e51a0315ba0e24c86fed941884f5c0
BLAKE2b-256 checksum
How to use checksums
6d2d7e6631b823616efcd68e56c927b969a63e0fffabb17f6ee2b116d9b8e7eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / qickodes-0.2.0-py3-none-any.whl

Download URL qickodes-0.2.0-py3-none-any.whl
Size 51.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da845edbc1281db4aab004a629e712158b6d9ab291515da2a6a87f0e2132e9f6
BLAKE2b-256 checksum
How to use checksums
57a486acee220fcecaf20eca30b54cd3307059d56cc2c948a29dfd3c90d41cfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page