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¶
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.