Skip to content

roslibrust

  • Software
  • Middleware
  • Library

An async Rust library for talking to ROS1 and ROS2 systems, built on Tokio, with one trait-based API that works across several transport backends.

Made by RosLibRust.

Source on GitHub: github.com/RosLibRust/roslibrust (opens in a new tab). Facts read at commit a798361 (opens in a new tab).

Licenses

Code
MIT (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit a798361 (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Provides a single trait-based API so the same behaviour code can run over any supported backend, chosen at compile time.
  • Supports native ROS2 via rmw_zenoh, native ROS1 via TCPROS, zenoh, rosbridge_server, and a mock backend for testing.
  • Requires no ROS1 or ROS2 installation; message types are generated in pure Rust from .msg and .srv files.
  • Roslibrust_codegen and roslibrust_codegen_macro generate Rust message types, usable from a build.rs or a macro.
  • Minimum supported Rust version is 1.90.

Written by Robotheca from the project's README (opens in a new tab) at commit a798361.

Getting started

Difficulty
Intermediate

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
25 Sept 2026 on master
Latest release
None published on GitHub

Checked on GitHub on 16 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.