Installation¶
General Requirements¶
LabOne Q currently requires Python 3.9 or higher. To ease the maintenance of
multiple installations and software packages, we recommended to use
Python virtual environments through e.g. venv
, uv
, or conda
.
LabOne Q also requires an installation of the Zurich Instruments LabOne Software. LabOne and LabOne Q follow a frequent release cycle with updates, performance improvements and new features. LabOne Q always supports the most recent LabOne release and currently requires LabOne version 25.01. Changes to this are mentioned in the release notes.
Latest Release¶
The following command will install the latest officially released LabOne Q version. Make sure to run this command in the Python environment into which LabOne Q should be installed.
pip install --upgrade laboneq
Quick start¶
To get started quickly, the following command will start Jupyter Lab from a temporary virtual environment already including LabOne Q and the LabOne Q Applications Library:
uvx --python 3.12 --with laboneq --with laboneq-applications --with jupyter jupyter lab
Python compatibility¶
LabOne Q typically supports the last four minor versions of Python. At the moment we support all released minor versions from and including Python 3.9.
Once official support for a minor version has ended, we will no longer test against that version and incompatibilities will be unavoidable. We recommend to switch to a supported version well ahead of the support end. End of support for Python versions will be announced in the release notes well ahead in time.
Python version | End of Support in LabOne Q |
---|---|
3.9 | 22.05.2025 |
3.10 | January 2026 |
3.11 | January 2027 |
Setup for Development¶
A development setup is only needed if you need deeper insights into the software or when you want to contribute to the development. The LabOne Q repository is found here: https://github.com/zhinst/laboneq
git clone git@github.com:zhinst/laboneq.git <YOUR_DIR>
cd <YOUR_DIR>
We recommend using uv
to manage the Python
environment for development, including Python itself.
The latest version of uv
can be installed as follows:
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Please follow the installation instructions on the uv
website for details.
To update (or create) a development environment for LabOne Q, run the following
uv sync
# note:
# add --python <VER> to use a specific Python version
# add --all-extras to install optional dependencies
# add --all-groups to install all development dependencies
# add --no-install-project to avoid installing LabOne Q itself
# add --config-setting 'build-args=--profile=dev' to build Rust code in debug mode
# add --frozen to avoid updates of the lock file
# add --locked to ensure that the lock file remains unchanged
# add --active to install into your currently active environment instead of creating a new one
# add --inexact to avoid uninstalling any additional packages that may already exist in your environment
and then activate it:
. .venv/bin/activate
.venv\Scripts\Activate
The previous step installs LabOne Q in editable mode, so that changes to the source code are immediately available in the Python environment.
Note
LabOne Q contains code written in Rust. To build the Rust code, you must have a Rust toolchain available. You can install Rust by following the instructions on the Rust website.
When working with Rust code in LabOne Q, the extension module can be compiled
with maturin
:
maturin develop --uv --skip-install # add --release for a release build
To build wheels for distribution, you can use maturin
as follows to create a
wheel for the current platform in the wheels
directory:
maturin build --release --out wheels