Skip to content

Client Libraries

Native client libraries wrap the Zenoh + Cap'n Proto messaging contract so you can publish telemetry and consume commands without hand-rolling serialization. They are available for Rust, Python, and C++.

Which path? If your robot software is written in Rust, Python, or C++, use the matching client library — it bundles the message types and the Zenoh + Cap'n Proto plumbing for you. If you use another language, or want full control, implement the contract directly instead. See all options under Integration paths.

Language Package Source
Rust rover_nexus_core (crates.io) gitlab.com/rover-nexus/rover-nexus-core
Python rover-nexus-core-py gitlab.com/rover-nexus/rover-nexus-core-py
C++ rover-nexus-core-cpp gitlab.com/rover-nexus/rover-nexus-core-cpp

Each library bundles the Cap'n Proto message types and helpers for the local Zenoh topic contract, so you publish uplink and consume downlink messages against the rover-agent without generating bindings yourself.

Schema and other resources

If you prefer to generate types in another language, the Cap'n Proto schema itself lives in the public rover_nexus_core crate (GitLab source) — this page is the canonical reference for where the schema and libraries live. More public Rover Nexus repos and libraries to help with testing and integration are at gitlab.com/rover-nexus.