Open Source RoboticsRobots, software & learning

Dora

Software

Rust robotics dataflow middleware with declarative node graphs and Python, Rust, C and C++ APIs. [1] [3]

Installation & first result →Official websiteGetting started

For
Robotics developers connecting multi-language processing nodes [1]
Source rights
Named licenses are documented by part. Review licenses
Unknowns
operating system, compute requirements not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware

Requirements · Research details and dates

On this page

Overview

Dora is a Rust-based robotics dataflow system with node interfaces for Python, Rust, C and C++. Its graphs describe processing nodes and their inputs and outputs in YAML. A useful first investigation is a local, inspectable pipeline before adopting the repository's broader distributed, performance or recovery claims for a robot deployment. [1]

Is this for you?

Known limitations
  • The PyPI package dora is unrelated to dora-rs despite the import name.
  • The selected core crate identifies itself as internal and outside the public1.0 stability guarantee.
  • Throughput, restart/recovery, distributed transport and real-time claims were not benchmarked or independently verified.

Editorial scope assessment from the cited implementation/documentation; no execution or compatibility test.

[1] [2] [3] [4] [5] · Editorial assessment

What you need

Dependencies
  • dora-cli provides the dora executable
  • Python route installs dora-rs, numpy and pyarrow; Python import name is dora

[1] [2] [3] [4] [5]

Installation & first result

Open the upstream getting-started guide [1]

  • Use the README's CLI and Python API packages, then inspect the selected examples/python-dataflow/dataflow.yml before attempting a local dataflow.
  • Preserve exact source/dependency/model versions and evaluate the selected workflow before connecting physical hardware or reusing data.

Editorial scope assessment from the cited implementation/documentation; no execution or compatibility test.

[1] [2] [3] [4] [5] · Editorial assessment

Installation

Use the README's CLI and Python API packages, then inspect the selected examples/python-dataflow/dataflow.yml before attempting a local dataflow.

Editorial scope assessment from the cited implementation/documentation; no execution or compatibility test.

[1] [2] [3] [4] [5] · Editorial assessment

Hardware, models & data

Inputs and outputs

Typed node inputs/outputs and YAML dataflow descriptions to local or distributed robot-processing pipelines.

Editorial scope assessment from the cited implementation/documentation; no execution or compatibility test.

[1] [3] · Editorial assessment

Project notes

The import and package names differ

The README names dora-cli as the Cargo package that provides the dora command. For Python it names dora-rs, together with numpy and pyarrow for the example. The Python import is from dora import Node, but the README explicitly warns that pip install dora installs an unrelated package. Keep the executable, distribution and import names distinct when troubleshooting an environment. [1]

The documented local route needs Python 3.11 or later and Cargo for the CLI installation: cargo install dora-cli, then pip install dora-rs numpy pyarrow. This review selects repository revision aae702a9ab7886d9bdec6a1ecb26dbfd48314859; from that checkout's root, inspect the example before attempting dora run examples/python-dataflow/dataflow.yml. The upstream package commands are unpinned, and matching released package versions to this checkout has not been established. These are documented instructions, not commands executed here. [1] [4]

For Rust/Python, upstream labels Linux first-class with pull-request gates and macOS ARM64 first-class with nightly gates; Windows x86_64 and WSL x86_64 are best effort. C/C++ templates have separate labels: Linux is first-class but nightly-gated, and macOS ARM64 is best effort. These are repository support labels, not compatibility established by our tests. [1]

The documented example is a sender, transformer and receiver dataflow under examples/python-dataflow. Inspect that YAML and its nodes before attempting the README's local dora run route. Success with that example would establish only that example in your environment; it would not verify a cross-machine robot pipeline or a particular ROS bridge. No example was executed here. [1] [4]

Keep public APIs separate from runtime internals

The inspected dora-core crate identifies itself as internal, published because other crates depend on it, and outside the public 1.0 stability guarantee. The documented Rust node API is dora-node-api. A profile of the system should not turn the internal core crate into a stable application API. The repository also contains actual asynchronous socket send/read implementation; inspecting that source does not establish crash recovery, durable coordinator state or network performance. [1] [3] [5]

The root license is Apache-2.0. Node packages, models and external services selected for a real robot need their own dependency and rights review. No source build, IPC/network connection, ROS integration, restart test or benchmark was performed. [2]

What we checked

Source research only. Selected implementation/model text, repository tree and license declarations were inspected. No upstream compilation, dependency installation, simulator, network/USB/device integration, data collection, benchmark or physical robot test was performed. Source files are linked rather than redistributed; external services and paid products are not endorsed.

Not yet established

  • Requirements: operating system, host computer
  • Version-specific hardware compatibility (ecosystem tags alone do not establish it)

Updates

Upstream last updated
Not established
Latest release
Not established
Profile updated
Nov 1, 2026
Sources last checked
Nov 1, 2026
Next review
Dec 1, 2026
Reviewed revision
aae702a

Source files and licenses

Distinct robot-facing middleware contribution with actual implementation/model content and a bounded documented next step. Review covers source artifacts, not operational performance or a complete tested deployment.

LayerAvailability / license
softwareavailable · Apache-2.0
Declaration for the scoped source implementation/documentation; dependencies, external services, model/data assets and inherited file-specific terms require separate checks. No blanket redistribution or operational clearance. [1] [2] [3]
documentationavailable · Apache-2.0
Declaration for the scoped source implementation/documentation; dependencies, external services, model/data assets and inherited file-specific terms require separate checks. No blanket redistribution or operational clearance. [1] [2] [3]

This profile is scoped to source implementation/model descriptions and an initial inspection workflow; no physical manufacturing design, pretrained checkpoint or dataset is selected for redistribution or tested deployment.

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history