InstrumentServer#

Distributed instrument control system for QCoDeS instruments via ZMQ

GitHub Repository | About

Warning

The documentation site is currently under construction. This site is still very early so not all information here is up to date. Expect more changes incoming 🏗️👷

Overview#

InstrumentServer is a distributed system for remote access to QCoDeS instruments. It enables multi-client instrument control through a ZMQ-based server-client architecture with real-time parameter broadcasting and concurrent request handling.

For more information on how the server works please see our overview page

Key Features#

Multi-Client Access

  • Multiple clients can simultaneously control the same server

  • Thread-safe per-instrument locking prevents race conditions

  • Concurrent access to different instruments

Real-Time Monitoring

  • Broadcast parameter changes to all listening clients

  • Asynchronous parameter updates via ZMQ PUB socket

  • Real-time GUI updates across the network

QCoDeS Integration

  • Native QCoDeS Station support

  • Full instrument metadata and blueprint system

  • Seamless proxy objects for remote instruments

Robust Architecture

  • ZMQ ROUTER/DEALER pattern for reliable messaging

  • ThreadPoolExecutor for concurrent request handling

  • Automatic connection recovery with retry logic

Documentation#

Code Examples#

Examples

API Reference#

The API documentation is automatically generated from the source code.

API Reference