skillfed

zhinst-comms

Zurich Instruments internal python bindings for Capnp

zhinst-comms v4.1.0.2607641 84.1K downloads/30d#14,023 on PyPI
Permissive license Active released

What it is and what it does

zhinst-comms is a low-level protocol stack library that wraps Cap'n Proto bindings for communicating with Zurich Instruments servers. It abstracts the underlying serialization and transport details, providing a generic API that can be adapted to different server implementations and protocols. The package bundles precompiled wheels for macOS (Intel and ARM), Linux, and Windows across Python 3.10–3.14, making cross-platform deployment straightforward.

The package is explicitly not intended for direct use; it serves as a foundation for the labone package, which provides the user-facing API for controlling Zurich Instruments hardware. Its four runtime dependencies—aiohttp for async HTTP communication, click for CLI utilities, packaging for version handling, and typing-extensions for type hints—are lightweight and widely maintained. The dual licensing (MIT and proprietary) and active maintenance status suggest this is a production component of a commercial ecosystem.

Use it for:

  • Building custom client libraries that communicate with Zurich Instruments LabOne servers using the Cap'n Proto protocol.
  • Integrating Zurich Instruments hardware control into larger scientific or measurement automation frameworks via the labone package.
  • Developing server-side protocol handlers that need to parse or respond to Zurich Instruments communication formats.
  • Cross-platform deployment of instrument control code across macOS, Linux, and Windows without recompilation.

Worth the install?

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

zhinst-comms provides protocol stack bindings to communicate with Zurich Instruments servers, offering a generic API for customized server interactions.

No, unless you are developing or maintaining the labone package or a related Zurich Instruments integration. The package documentation explicitly states it is not intended for direct use and is a low-level dependency of labone. Install labone instead if you need to control Zurich Instruments hardware; it will pull in zhinst-comms automatically.

Install

zhinst-comms on PyPI

pip

pip install zhinst-comms

uv

uv add zhinst-comms

poetry

poetry add zhinst-comms

Installing zhinst-comms

Before you install

Medium install friction due to precompiled wheels across multiple platforms and Python versions (3.10–3.14). Active maintenance with a release within the last 56 days. Four lightweight runtime dependencies (aiohttp, click, packaging, typing-extensions) add modest overhead.

License in practice

Dual-licensed under MIT and Other/Proprietary terms. The permissive treatment suggests MIT is the primary license, but the proprietary component warrants review of the full license text before commercial use.

Quickstart

pip install zhinst-comms

import zhinst.comms
# Typically used indirectly via the labone package for server communication

Requires Python 3.10 or later. This is a low-level library intended for use by labone; direct usage is not recommended per the package documentation.

Verify before relying

  • Exact scope of the proprietary license component and any restrictions on commercial use or redistribution.
  • Whether the package can be used standalone or only through labone, despite the generic API claim.
  • Performance characteristics and latency overhead of the aiohttp-based communication stack.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 4 — aiohttp, click, packaging, typing-extensions
Maintenance actively maintained — 56 days since the last release
First released
Downloads 84,123/month — #14,023 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zhinst_comms-4.1.0.2607641-cp310-cp310-macosx_10_11_x86_64.whl; zhinst_comms-4.1.0.2607641-cp310-cp310-macosx_11_0_arm64.whl; zhinst_comms-4.1.0.2607641-cp310-cp310-manylinux1_x86_64.whl; zhinst_comms-4.1.0.2607641-cp310-cp310-manylinux2014_aarch64.whl; zhinst_comms-4.1.0.2607641-cp310-cp310-win_amd64.whl; zhinst_comms-4.1.0.2607641-cp311-cp311-macosx_10_11_x86_64.whl; zhinst_comms-4.1.0.2607641-cp311-cp311-macosx_11_0_arm64.whl; zhinst_comms-4.1.0.2607641-cp311-cp311-manylinux1_x86_64.whl; zhinst_comms-4.1.0.2607641-cp311-cp311-manylinux2014_aarch64.whl; zhinst_comms-4.1.0.2607641-cp311-cp311-win_amd64.whl; zhinst_comms-4.1.0.2607641-cp312-cp312-macosx_10_11_x86_64.whl; zhinst_comms-4.1.0.2607641-cp312-cp312-macosx_11_0_arm64.whl; zhinst_comms-4.1.0.2607641-cp312-cp312-manylinux1_x86_64.whl; zhinst_comms-4.1.0.2607641-cp312-cp312-manylinux2014_aarch64.whl; zhinst_comms-4.1.0.2607641-cp312-cp312-win_amd64.whl; zhinst_comms-4.1.0.2607641-cp313-cp313-macosx_10_11_x86_64.whl; zhinst_comms-4.1.0.2607641-cp313-cp313-macosx_11_0_arm64.whl; zhinst_comms-4.1.0.2607641-cp313-cp313-manylinux1_x86_64.whl; zhinst_comms-4.1.0.2607641-cp313-cp313-manylinux2014_aarch64.whl; zhinst_comms-4.1.0.2607641-cp313-cp313-win_amd64.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseLicense :: Other/Proprietary LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: C++Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Software Development :: Libraries :: Python Modules

Tags

zurich instruments communicationcapnp protocol bindingsserver protocol stackzhinst server clientinstrument communication librarylabone protocol bindingscapnproto python bindings
capnprotozurich-instrumentslow-level-binding

More Scientific/Engineering packages