DISCOSClient is a Python client for accessing telemetry data streams from DISCOS (Development of the Italian Single-dish COntrol System), the control system used by INAF's radio telescopes.
The client allows subscriptions to specific components (e.g., mount, antenna) and provides thread-safe, read-only access to their internal state via a structured and immutable interface.
- ZeroMQ SUB client for structured telemetry updates
- Read-only nested namespaces for safe access
- Lightweight and dependency-minimal
- JSON schemas used as metadata for message structure
Clone the repository and install the package:
git clone https://github.com/discos/DISCOSClient.git cd DISCOSClient pip install .fromdiscos_clientimportDISCOSClientSRT=DISCOSClient("mount", address="127.0.0.1", port=16000) az=SRT.mount.azimuth.currentPositionel=SRT.mount.elevation.currentPositionprint(f"Azimuth: {az}\nElevation: {el}")discos_client/– Main client implementationdiscos_client/schemas/– JSON schemas used as structural metadatatests/– Unit tests
For more details, read the full documentation, available at:
📘 https://discosclient.readthedocs.io/en/latest/
This project is licensed under the GPL-3.0-only license. See the LICENSE file for details.
Giuseppe Carboni – [email protected]