skillfed

zhinst-toolkit

Zurich Instruments Toolkit High Level API

zhinst-toolkit v1.4.0 80.1K downloads/30d#14,323 on PyPI33
Permissive license MIT Active released

What it is and what it does

zhinst-toolkit is a high-level Python driver for Zurich Instruments devices, built on top of the native zhinst-core API. It translates low-level instrument commands into pythonic abstractions, making it easier to write control and measurement scripts without wrestling with the underlying LabOne protocol. The package depends on zhinst-core for actual device communication, plus jsonschema, numpy, and pyelftools for configuration validation and data handling.

The toolkit is intended as a full replacement for direct zhinst-core usage, offering a more intuitive API for scientists and engineers who need to automate Zurich Instruments hardware. It requires LabOne software 25.04 or later to be installed separately on your machine—this is not a pip dependency but a system-level prerequisite. The package is marked stable and actively maintained, supporting Python 3.10 through 3.14.

Use it for:

  • Automate lock-in amplifier measurements and parameter sweeps in a Python script without writing low-level protocol calls.
  • Build experiment control workflows that interact with multiple Zurich Instruments devices in a single pythonic session.
  • Integrate Zurich Instruments hardware into larger scientific data acquisition pipelines using familiar Python abstractions.
  • Prototype and test instrument configurations interactively in Jupyter notebooks with a cleaner API than zhinst-core.
  • Replace legacy LabOne scripting with modern Python-based instrument automation for reproducibility.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

zhinst-toolkit provides a high-level Python interface to Zurich Instruments devices, wrapping the lower-level zhinst-core API into a more pythonic interface for instrument control and data acquisition.

Yes, if you own or have access to Zurich Instruments hardware and need to control it from Python. The package is stable, actively maintained, has low install friction, and offers a genuine usability improvement over the lower-level zhinst-core API. The main prerequisite—LabOne 25.04+ installed locally—is a system-level requirement, not a blocker within Python. No known security vulnerabilities.

Install

zhinst-toolkit on PyPI

pip

pip install zhinst-toolkit

uv

uv add zhinst-toolkit

poetry

poetry add zhinst-toolkit

Installing zhinst-toolkit

Before you install

Low install friction; pure Python wheel. Requires LabOne software 25.04 or later installed separately on the local machine—a system-level prerequisite, not a pip dependency. Repository is active with recent commits and stable maintenance status.

License in practice

MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you retain the license notice.

Quickstart

pip install zhinst-toolkit

import zhinst.toolkit as tk
device = tk.Session().connect_device('DEVID')

LabOne software version 25.04 or later must be installed locally and running; Python 3.10 or later required.

Verify before relying

  • Whether the package works with LabOne versions between 25.04 and the current release date.
  • Specific performance characteristics or throughput limits for data acquisition.
  • Whether remote LabOne installations are supported despite the recommendation against them.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 7 — jsonref, jsonschema, numpy, pyelftools, typing-extensions, zhinst-core, zhinst-utils
Maintenance actively maintained — 107 days since the last release
Last repo commit
First released
Downloads 80,081/month — #14,323 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zhinst_toolkit-1.4.0-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering

Tags

zurich instruments device controllabone python api wrapperinstrument communication pythonzurich instruments toolkithigh level device driver pythonscientific instrument interfacehardware control abstraction
hardware-controlscientific-instrumentationlabone

More Scientific/Engineering packages