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

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

Citing Qanary

Please cite Qanary when using it in your work:

@misc{qanary,
  author       = {Anupam, Spandan and Schreibing, Simon and Shivottam, Jyotirmaya},
  title        = {Qanary: Sweep and measurement utilities for QCoDeS},
  year         = {2026},
  note         = {Version 0.12.3, software},
  howpublished = {GitLab},
  url          = {https://gitlab.com/squad-lab/qanary}
}

CITATION.cff has the same information in machine-readable form.

Authors

License

Qanary is free software under the AGPL-3.0-or-later. Dependencies are installed separately under their own licenses.

Copyright © 2024–2026 Forschungszentrum Jülich GmbH, PGI-11.

Metadata

Release files for qanary 0.12.3

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

Source distribution (sdist)

Source distribution for qanary 0.12.3
File Size Uploaded Provenance
qanary-0.12.3.tar.gz 317.7 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 365.6 kB

Release files / qanary-0.12.3.tar.gz

Download URL qanary-0.12.3.tar.gz
Size 317.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b81bb44e44bf72457f22853bf2a9307fc026cf3540362b679571d0375c6ffa56
BLAKE2b-256 checksum
How to use checksums
62dc1050adb099b49a53f4e01b6eb14a0e532dab3e23f90e68b35bb179c28048
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","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}

Release files / qanary-0.12.3-py3-none-any.whl

Download URL qanary-0.12.3-py3-none-any.whl
Size 47.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac3a5883665906820cfb0752fed98a64a6b61bf0d886299e3ee68ffef26124bd
BLAKE2b-256 checksum
How to use checksums
4d75079ba08b0ebeecd9c15f5ad04fe1ac853f0047afe86a8cc0035d77241c6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","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}

Security for qanary 0.12.3

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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