Skip to content

QUAlibrate

The QUAlibrate connector synchronizes calibration data from a QUAlibrate data directory. It scans the directory for node and workflow snapshots and uploads each as a dataset.

Package etiket_sync_agent_qualibrate
Identifier etiket_sync_agent_qualibrate
Type File-based
Scope Required default scope
Live sync No

Installation

from etiket_sdk.sync import Connectors

Connectors.install_from_pypi("etiket_sync_agent_qualibrate")

In the DataQruiser app, go to the sync page and open Sync Settings with the gear button (top left). On the Connectors tab, find QUAlibrate in the Available list and click Install. If it isn't listed, use Install Connector → Install from PyPI with etiket_sync_agent_qualibrate as the package name.

Configuration

Parameter Type Description
data_directory path A QUAlibrate project folder — add one sync source per project (see the layout below).
is_server_folder bool Whether the directory is on a shared/network location.
add_images_as_thumbnails bool Optional, True by default. Show the images of a snapshot next to the dataset in the dataset list — see Thumbnails.

QUAlibrate stores snapshots two levels below the project folder, grouped by date. Each snapshot folder (the one containing a node.json) becomes a dataset:

demo_project/                         <- data_directory (one sync source per project)
├── 2026-06-24/                       <- date
│   ├── #1_resonator_spectroscopy/    <- one snapshot = one dataset
│   │   ├── node.json
│   │   ├── data.json
│   │   └── arrays.npz
│   └── #2_qubit_spectroscopy/
└── 2026-07-07/
    └── #3_ramsey/

Create a sync source

from qdrive.scopes import get_scopes
from etiket_sdk.sync import SyncSources

print(get_scopes())  # find the scope UUID you want to sync to

source = SyncSources.create(
    name="my_qualibrate_source",
    connector_identifier="etiket_sync_agent_qualibrate",
    config_data={
        "data_directory": "~/.qualibrate/user_storage/demo_project",
        "is_server_folder": False,
        "add_images_as_thumbnails": True,
    },
    default_scope="6c319227-f6f8-4bc6-b7f9-ed278a8fb040",
)

You can also add this source from the DataQruiser app.

Thumbnails

With add_images_as_thumbnails on (the default), every image of a snapshot is also shown next to the dataset in the dataset list of the DataQruiser app. The most recently written image comes first, since that is usually the result of the node.

The images remain available in full under their own name; the thumbnails are extra, downscaled copies that do not show up in the file list of the dataset.

Note

Changing add_images_as_thumbnails only applies to snapshots synced from then on — snapshots that are already synchronized are not revisited.

Notes

Each snapshot is a folder with a node.json (metadata) and a data.json (results). The connector maps the snapshot metadata onto the dataset — name, description, creation time, and the node/workflow execution type as a tag — and extracts the raw_data results into a single netCDF file. A snapshot is synced once it is complete (its node.json is present); workflow snapshots that carry no array data upload metadata only.