← all repositories
dora-rs/dora

Robot middleware rebuilt as a Rust dataflow graph

It exists because stitching AI perception, planning, and hardware into low-latency pipelines with ROS2 Python often hits serialization and throughput walls.

★4k stars Rust Domain AppsAgents
dora
Not currently ranked — collecting fresh signals.
star history

What it does

Dora models robotic applications as directed graphs of nodes—perception, planning, or hardware I/O linked by typed inputs and outputs. It handles local shared-memory IPC between co-located nodes and automatically falls back to Zenoh pub-sub when nodes span machines. A single CLI manages the full lifecycle from local development to distributed cluster deployment, including hot reload, record/replay, and live topology changes.

The interesting bit

The project is built and maintained with “agentic engineering”: AI agents generate, review, and refactor code, while humans set direction and gate every merge. Under the hood, it uses Apache Arrow end-to-end for columnar memory, which eliminates serialization overhead across Rust, Python, C, and C++ bindings.

Key highlights

  • Claims 10–17× faster throughput than ROS2 Python for payloads between 4 KB and 4 MB, using zero-copy shared memory via Zenoh.
  • Supports mixed-language nodes (Rust, Python, C, C++) with native APIs in the same dataflow, plus reusable sub-graph modules composed in YAML.
  • Offers soft real-time scheduling with SCHED_FIFO, memory locking, and per-node CPU affinity pinning.
  • Includes built-in observability: OpenTelemetry tracing and metrics, a dora top TUI for per-node resource monitoring, and .drec record/replay for regression testing.
  • Provides a ROS2 bridge for bidirectional topic, service, and action interop.

Caveats

  • Running dataflow reclamation after a coordinator restart is only partially implemented; the project points to open issues for the remaining gaps.

Verdict

Robotics developers hitting latency walls in Python-centric stacks should evaluate this, especially if they need distributed deployments or mixed-language nodes. Teams already happy with tightly coupled, single-process robot control probably don’t need the overhead.

Frequently asked

What is dora-rs/dora?
It exists because stitching AI perception, planning, and hardware into low-latency pipelines with ROS2 Python often hits serialization and throughput walls.
Is dora open source?
Yes — dora-rs/dora is open source, released under the Apache-2.0 license.
What language is dora written in?
dora-rs/dora is primarily written in Rust.
How popular is dora?
dora-rs/dora has 4k stars on GitHub.
Where can I find dora?
dora-rs/dora is on GitHub at https://github.com/dora-rs/dora.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.