Skip to main content

Qanary

pipeline tests coverage latest release PyPI version documentation

Qanary simplifies measurement workflows and replaces QCoDeS for handling measurements.

Installation

Qanary requires Python 3.13. Install the latest release from PyPI:

uv add qanary
pip install qanary

Migrating from QCUtils

Qanary is the renamed successor to QCUtils. Replace the qcutils dependency with qanary, change imports from qcutils... to qanary..., and rename QCUTILS_HOME to QANARY_HOME. The default application directory has likewise changed from ~/.qcutils to ~/.qanary.

Preparing a measurement project

We manage and run our measurements using the tool uv. To get started, follow the official Astral installation guide to install uv. It handles virtual environments and package dependencies for you, simplifying Python package management.

Initializing a Measurement

To start a measurement, first initialize a uv project with the desired measurement name:

uv init measurement_name
cd measurement_name

Add Qanary to the project with:

uv add qanary

[!note] NOTE
Qanary installs its QCoDeS, Zurich Instruments, live-visualization, and driver dependencies, so there is no need to add them separately.

Running Commands

Instead of manually activating a virtual environment and running python -m package.method, you can use uv to streamline this:

uv run -m package.method

Using pyproject.toml

If you prefer to skip the add commands, you can set up the project directly with a pyproject.toml file. Here's an example:

[project]
name = "example"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
    "qanary",
]

After updating the pyproject.toml file, you can sync the dependencies with:

uv sync

This will automatically fetch and install the required packages.

Measurement

For complete measurement scripts, see the examples directory.

Live & Disk Format

qanary uses a split data path:

  • Live visualization: in-memory Zarr snapshots published through qimchi-connect, with a temporary disk checkpoint for recovery
  • Completed measurement: a netCDF (.nc) file in the configured data directory

Qimchi discovers a Qanary measurement automatically while it runs. After a successful final export, Qanary removes the temporary Zarr checkpoint and the netCDF file remains as the measurement record.

Development

We welcome contributions to qanary! To get started with development, clone the repository:

git clone https://gitlab.com/squad-lab/qanary

Navigate into the cloned directory and install the package in development mode:

cd qanary
uv sync --extra dev
uv run pre-commit install

Authors

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qanary-0.10.1.tar.gz (305.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qanary-0.10.1-py3-none-any.whl (46.7 kB view details)

Uploaded Python 3

File details

Details for the file qanary-0.10.1.tar.gz.

File metadata

  • Download URL: qanary-0.10.1.tar.gz
  • Upload date:
  • Size: 305.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for qanary-0.10.1.tar.gz
Algorithm Hash digest
SHA256 17d8ef49efde1b249a7acb1e05ee03fc30d1d1804d08108cde07d0a9128ac28e
MD5 ed528c13fffe2632e5458d5fd87ef99d
BLAKE2b-256 fe207fc608110951cb952ff02e30fbb14506b6e7f570d8ae12c0179251ee4e0a

See more details on using hashes here.

File details

Details for the file qanary-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: qanary-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 46.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for qanary-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e78d0517954387032a7088d0eb03f0102be7d6c1be71c441f9db9e202852585f
MD5 7564fe53b930170970eb975c62869a19
BLAKE2b-256 f1fd9df9e5f5a8c33fec387aa832948c7c0945217f4bb97098ef81ba6608c7ff

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.10.1 This release

2 files

0.10.0

2 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