zhinst-comms
Zurich Instruments internal python bindings for Capnp
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-commsuv
uv add zhinst-commspoetry
poetry add zhinst-commsInstalling 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
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
zhinst-corezhinst-core provides a native Python API for…
permissive · top 15,000 on PyPI
zhinst-utilsProvides helper functions and device-specific…
permissive · top 15,000 on PyPI
zhinst-toolkitzhinst-toolkit provides a high-level Python…
permissive · top 15,000 on PyPI
RsInstrumentRsInstrument provides a Python interface for…
permissive · top 15,000 on PyPI
zhinst-timing-modelsProvides feedback latency model parameters for…
permissive · top 15,000 on PyPI
zigpy-znpAdds support for Texas Instruments ZNP Zigbee…
copyleft · top 15,000 on PyPI
opentelemetry-python-contrib-external-valkeyAdds OpenTelemetry tracing to the Valkey Python…
permissive · top 15,000 on PyPI
PyVISAPyVISA provides Python bindings to VISA…
permissive · top 5,000 on PyPI
spacepacketsImplements CCSDS and ECSS packet standards for…
permissive · top 15,000 on PyPI