Skip to content

qDrive installation

qDrive is the Python package for creating, managing, and syncing scientific datasets from Python. This page covers installing the package, running the background sync services, and authenticating.

Looking for the desktop app?

To install the graphical application for browsing and visualizing your data, see DataQruiser installation.

TL;DR

Install the qDrive package and its background sync services:

pip install qdrive==0.3.0b8
etiket-services install

Later, to update both the package and the services:

pip install qdrive --upgrade
etiket-services update

The sections below explain each step in more detail, including isolated environments and authentication.

Installing the qDrive package

Requirements : Python >= 3.10.

Setting up a Python environment

As with any Python package, we recommend installing qDrive in its own environment. Pick the tool you prefer below — we suggest uv for its speed and simplicity, but plain venv and conda work just as well.

If you don't have uv yet, follow the uv installation guide. Then create an environment and install qDrive:

uv venv qdrive_env --python 3.11
source qdrive_env/bin/activate   # macOS / Linux
qdrive_env\Scripts\activate      # Windows

uv pip install qdrive==0.3.0b8

Using Python's built-in venv:

python -m venv qdrive_env
source qdrive_env/bin/activate   # macOS / Linux
qdrive_env\Scripts\activate      # Windows

pip install qdrive==0.3.0b8

Open the Anaconda prompt and run:

conda create -n qdrive_env python=3.11
conda activate qdrive_env

pip install qdrive==0.3.0b8

Installing into an existing conda environment

You can test compatibility with the other packages in an existing environment by cloning it first, then installing qDrive into the clone:

conda create --name myclone --clone my_measurement_env

After installation, ensure compatibility by importing your commonly used packages.

Note

If you encounter errors during installation in an existing environment, it may be due to package dependencies. To resolve these, update the relevant package by running:

pip install -U package_that_needs_an_update

Installing the background services

qDrive keeps your data in sync with QM Data Management through a set of background services (the sync agent). Install them once with:

etiket-services install

The services then run automatically in the background. You normally don't need to interact with them, but the following commands are available:

etiket-services status      # Show installation and service status
etiket-services start       # Start the services
etiket-services stop        # Stop the services
etiket-services restart     # Restart the services
etiket-services enable      # Start the services at boot
etiket-services disable     # Don't start the services at boot
etiket-services uninstall   # Remove the services

Note

You can also manage the services from the DataQruiser desktop application. For programmatic control of the sync agent (managing sync sources, viewing sync status, debugging), see the etiket-sdk package.

Authentication

Once installed, log in from Python before syncing or accessing data:

from qdrive.authenticate import log_in_with_sso

log_in_with_sso("MyInstitution")

The session is persistent, so you only need to do this once per machine. For password and API-token login, checking status, and logging out, see Authentication.

Updating

Run these commands in the same environment where you installed qDrive, so activate it first (e.g. source qdrive_env/bin/activate, or conda activate qdrive_env).

To update qDrive together with the background services, run:

pip install qdrive --upgrade
etiket-services update

To update only the core packages without the measurement connectors:

etiket-services update --no-connectors