Development and Release of Quantum Network Device Drivers

As part of Moonshot Goal 6 (“Scalable and Robust Integrated Quantum Communication Systems”) led by Project Manager Shota Nagayama, we have released open-source device drivers for quantum network experiments on GitHub.
PnPQ is a Python package for controlling optical devices in a testbed environment. Previously, researchers had to rely on vendor-specific utilities or custom scripts, which often led to issues such as unit mismatches and missing logs. PnPQ enables unified API usage and continuous logging across multiple devices, allowing for highly reproducible automation and maintainable experimental scripts. Using the Pint library, it automatically converts between internal device units and standard physical units. It currently supports optical instruments from Thorlabs and OzOptics.
tdc_toolkit is an open-source Rust library for controlling time-to-digital converters (TDCs). As a compiled language, Rust provides minimal runtime overhead, making it suitable for continuous time-tag processing with low latency and stable throughput. The toolkit supports device information queries and time-tag data acquisition, storing collected data in Apache Parquet format. It includes both a CLI and a Rust library for easy integration into experimental pipelines.
Both packages are designed such that the node side receives configuration parameters and control commands from a PC.
PnPQ (Optical Device Control)
- Continuously records state changes during operation.
It controls waveplates, optical switches, polarization controllers, and optical delay lines. PnPQ executes sequences such as scanning angles and delays, switching optical paths, and adjusting polarization. Instructions given in physical units (degrees, millimeters, etc.) are automatically converted to the appropriate device units for safe operation.
tdc_toolkit (Time-Tag Acquisition)
- Continuously acquires time tags by controlling the TDC, typically in combination with detection systems such as SSPDs and amplifiers.
PnPQ and tdc_toolkit together enable complete control and recording of device operations. When used jointly, they record both the testbed’s state and the execution results of each operation. Since both can be monitored via a dashboard, experimenters can track the progress of sequences and verify synchronization. After experiments, PnPQ operation logs and time-tag files can be organized as a single session for further analysis.
For related repositories, please visit the moonshot-nagayama-pj GitHub page.