--- id: zhinst-comms version: "4.1.0.2607641" license: unclear license_treatment: permissive maintenance: active --- # zhinst-comms — Zurich Instruments internal python bindings for Capnp License: permissive · Maintenance: active · Downloads: 84.1K/mo ## 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 above — 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 pip install zhinst-comms uv add zhinst-comms 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_current - Install friction: medium - Maintenance: active - Downloads: 84.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags zurich instruments communication, capnp protocol bindings, server protocol stack, zhinst server client, instrument communication library, labone protocol bindings, capnproto python bindings, capnproto, zurich-instruments, low-level-binding [View on SkillFed](https://skillfed.io/packages/zhinst-comms) · [View on PyPI](https://pypi.org/project/zhinst-comms/)