Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
|
|
2 years ago | |
|---|---|---|
| .github/workflows | 2 years ago | |
| apis | 2 years ago | |
| binaries | 2 years ago | |
| docs | 3 years ago | |
| examples | 2 years ago | |
| libraries | 2 years ago | |
| .gitignore | 3 years ago | |
| Cargo.lock | 2 years ago | |
| Cargo.toml | 2 years ago | |
| Changelog.md | 3 years ago | |
| LICENSE | 3 years ago | |
| NOTICE.md | 3 years ago | |
| README.md | 3 years ago | |
| rust-toolchain.toml | 3 years ago | |
dora goal is to be a low latency, composable, and distributed data flow.
This project is in early development, and many features have yet to be implemented with breaking changes. Please don't take for granted the current design.
dora primary support is with Linux as it is the primary OS for both Cloud and small computers. If you wish to use dora with another OS, please compile from source.
The documentation can be found here: https://dora-rs.github.io/dora/
dora binaries from GitHub releasesFor linux
wget https://github.com/dora-rs/dora/releases/download/<version>/dora-<version>-x86_64-Linux.zip
unzip dora-<version>-x86_64-Linux.zip
python3 -m pip install dora-rs==<version>
PATH=$PATH:$(pwd):$(pwd)/iceoryx
dora --help
This is
x86_64only for the moment.
dora new abc_project --lang python
cd abc_project
This creates the following abc_project directory
.
├── dataflow.yml
├── node_1
│ └── node_1.py
├── op_1
│ └── op_1.py
└── op_2
└── op_2.py
dora-coordinator in a separate terminal window# New terminal window
dora up
# Other window
dora start dataflow.yml
# Output: c95d118b-cded-4531-a0e4-cd85b7c3916c
The output is the unique ID of the dataflow instance, which can be used to control it through the dora CLI.
dora-coordinator window operators receiving ticks.Received input tick, with data: b''
Received input tick, with data: b''
Received input tick, with data: b''
...
dora stop c95d118b-cded-4531-a0e4-cd85b7c3916c
(Pass the ID returned by dora start here.)
dora CLI again:dora new --kind operator --lang Rust <name> to create a new Rust operator named <name>.dora new --kind custom-node --lang Rust <name> to create a new custom node named <name>.You need to add the created operators/nodes to your dataflow YAML file.
communication:
zenoh:
prefix: /abc_project
nodes:
- id: op_1
operator:
python: https://raw.githubusercontent.com/dora-rs/dora-drives/main/operators/webcam_op.py
inputs:
tick: dora/timer/millis/100
outputs:
- image
- id: op_2
operator:
python: https://raw.githubusercontent.com/dora-rs/dora-drives/main/physicals/plot.py
inputs:
image: op_1/image
Make sure to have a webcam and cv2 install via:
pip install opencv-python
Composability as:
Low latency as:
iceoryxDistributed as:
zenohopentelemetryThis project is licensed under Apache-2.0. Check out NOTICE.md for more information.
DORA (Dataflow-Oriented Robotic Architecture) is middleware designed to streamline and simplify the creation of AI-based robotic applications. It offers low latency, composable, and distributed datafl
Rust Python TOML Markdown C other