Installation
General Requirements
LabOne Q currently requires Python 3.10 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.04. 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
To install the Applications Library, our open-source repository of application-ready solutions, run the following from within your python environment.
pip install --upgrade laboneq_applications
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 this time, we support all released minor versions from and including Python 3.10.
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 | last compatible LabOne Q version |
---|---|---|
3.9 | 22.05.2025 | 2.52 |
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:
=== "macOS/Linux"
curl -LsSf https://astral.sh/uv/install.sh | sh
=== "Windows"
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:
=== "macOS/Linux"
. .venv/bin/activate
=== "Windows"
.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