Browse Source

Merge branch 'main' into unify-nodes-and-operators

tags/v0.2.0-candidate
Philipp Oppermann 3 years ago
parent
commit
df5dcfb342
Failed to extract signature
34 changed files with 98 additions and 86 deletions
  1. +2
    -2
      .github/workflows/release.yml
  2. +28
    -28
      Cargo.lock
  3. +9
    -0
      Cargo.toml
  4. +2
    -2
      README.md
  5. +2
    -2
      apis/c++/node/Cargo.toml
  6. +2
    -2
      apis/c++/operator/Cargo.toml
  7. +1
    -1
      apis/c/node/Cargo.toml
  8. +1
    -1
      apis/c/operator/Cargo.toml
  9. +1
    -1
      apis/python/node/Cargo.toml
  10. +1
    -1
      apis/python/operator/Cargo.toml
  11. +2
    -2
      apis/rust/node/Cargo.toml
  12. +1
    -1
      apis/rust/operator/Cargo.toml
  13. +1
    -1
      apis/rust/operator/macros/Cargo.toml
  14. +1
    -1
      apis/rust/operator/types/Cargo.toml
  15. +1
    -1
      binaries/cli/Cargo.toml
  16. +1
    -1
      binaries/cli/src/template/rust/node/Cargo-template.toml
  17. +1
    -1
      binaries/cli/src/template/rust/operator/Cargo-template.toml
  18. +2
    -2
      binaries/coordinator/Cargo.toml
  19. +2
    -2
      binaries/runtime/Cargo.toml
  20. +17
    -14
      docs/src/installation.md
  21. +2
    -2
      examples/iceoryx/node/Cargo.toml
  22. +1
    -1
      examples/iceoryx/operator/Cargo.toml
  23. +2
    -2
      examples/iceoryx/sink/Cargo.toml
  24. +2
    -2
      examples/rust-dataflow-url/sink/Cargo.toml
  25. +2
    -2
      examples/rust-dataflow/node/Cargo.toml
  26. +2
    -2
      examples/rust-dataflow/sink/Cargo.toml
  27. +1
    -1
      libraries/communication-layer/pub-sub/Cargo.toml
  28. +1
    -1
      libraries/communication-layer/request-reply/Cargo.toml
  29. +1
    -1
      libraries/core/Cargo.toml
  30. +1
    -1
      libraries/extensions/download/Cargo.toml
  31. +1
    -1
      libraries/extensions/telemetry/metrics/Cargo.toml
  32. +1
    -1
      libraries/extensions/telemetry/tracing/Cargo.toml
  33. +1
    -1
      libraries/extensions/zenoh-logger/Cargo.toml
  34. +2
    -2
      libraries/message/Cargo.toml

+ 2
- 2
.github/workflows/release.yml View File

@@ -14,7 +14,7 @@ jobs:

strategy:
matrix:
platform: [ubuntu-20.04, ubuntu-22.04, macos-12, windows-2022]
platform: [ubuntu-20.04, macos-12, windows-2022]
python-version: ["3.7"]
fail-fast: false
runs-on: ${{ matrix.platform }}
@@ -65,5 +65,5 @@ jobs:
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: archive.zip
asset_name: dora-${{ github.ref_name }}-x86_64-${{ matrix.platform }}.zip
asset_name: dora-${{ github.ref_name }}-x86_64-${{ runner.os }}.zip
asset_content_type: application/zip

+ 28
- 28
Cargo.lock View File

@@ -382,9 +382,9 @@ checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"

[[package]]
name = "capnp"
version = "0.14.9"
version = "0.14.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1b5dbbbfbae370eb9e9e86fb86b572acf4d5e0072e44636758cae3fe6ba6015"
checksum = "2dca085c2c7d9d65ad749d450b19b551efaa8e3476a439bdca07aca8533097f3"

[[package]]
name = "capnpc"
@@ -541,7 +541,7 @@ dependencies = [

[[package]]
name = "communication-layer-pub-sub"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"eyre",
"iceoryx-rs",
@@ -552,7 +552,7 @@ dependencies = [

[[package]]
name = "communication-layer-request-reply"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"eyre",
]
@@ -903,7 +903,7 @@ dependencies = [

[[package]]
name = "dora-cli"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"atty",
"clap 4.0.3",
@@ -923,7 +923,7 @@ dependencies = [

[[package]]
name = "dora-coordinator"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"bincode",
"clap 3.2.20",
@@ -953,7 +953,7 @@ dependencies = [

[[package]]
name = "dora-core"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-message",
"eyre",
@@ -991,7 +991,7 @@ dependencies = [

[[package]]
name = "dora-download"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"eyre",
"reqwest",
@@ -1017,7 +1017,7 @@ dependencies = [

[[package]]
name = "dora-message"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"capnp",
"capnpc",
@@ -1027,7 +1027,7 @@ dependencies = [

[[package]]
name = "dora-metrics"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"futures",
"opentelemetry",
@@ -1038,7 +1038,7 @@ dependencies = [

[[package]]
name = "dora-node-api"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"capnp",
"dora-core",
@@ -1059,7 +1059,7 @@ dependencies = [

[[package]]
name = "dora-node-api-c"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-node-api",
"eyre",
@@ -1069,7 +1069,7 @@ dependencies = [

[[package]]
name = "dora-node-api-cxx"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"cxx",
"cxx-build",
@@ -1079,7 +1079,7 @@ dependencies = [

[[package]]
name = "dora-node-api-python"
version = "0.1.1-2"
version = "0.1.2"
dependencies = [
"dora-node-api",
"dora-operator-api-python",
@@ -1091,7 +1091,7 @@ dependencies = [

[[package]]
name = "dora-operator-api"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-operator-api-macros",
"dora-operator-api-types",
@@ -1099,14 +1099,14 @@ dependencies = [

[[package]]
name = "dora-operator-api-c"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-operator-api-types",
]

[[package]]
name = "dora-operator-api-cxx"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"cxx",
"cxx-build",
@@ -1119,7 +1119,7 @@ dependencies = [

[[package]]
name = "dora-operator-api-macros"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-operator-api",
"dora-operator-api-types",
@@ -1130,7 +1130,7 @@ dependencies = [

[[package]]
name = "dora-operator-api-python"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-node-api",
"eyre",
@@ -1141,14 +1141,14 @@ dependencies = [

[[package]]
name = "dora-operator-api-types"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"safer-ffi",
]

[[package]]
name = "dora-runtime"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"clap 3.2.20",
"dora-core",
@@ -1179,7 +1179,7 @@ dependencies = [

[[package]]
name = "dora-tracing"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"opentelemetry",
"opentelemetry-jaeger",
@@ -1725,7 +1725,7 @@ dependencies = [

[[package]]
name = "iceoryx-example-node"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-node-api",
"eyre",
@@ -1734,14 +1734,14 @@ dependencies = [

[[package]]
name = "iceoryx-example-operator"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-operator-api",
]

[[package]]
name = "iceoryx-example-sink"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-node-api",
"eyre",
@@ -3317,7 +3317,7 @@ dependencies = [

[[package]]
name = "rust-dataflow-example-node"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-node-api",
"eyre",
@@ -3328,7 +3328,7 @@ dependencies = [

[[package]]
name = "rust-dataflow-example-sink"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"dora-node-api",
"eyre",
@@ -4998,7 +4998,7 @@ dependencies = [

[[package]]
name = "zenoh-logger"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"zenoh",
"zenoh-config",


+ 9
- 0
Cargo.toml View File

@@ -18,12 +18,21 @@ members = [
"libraries/extensions/zenoh-logger",
]

[workspace.package]
version = "0.1.2"

[workspace.dependencies]
dora-node-api = { version = "0.1.2", path = "apis/rust/node", default-features = false }
dora-operator-api = { version = "0.1.2", path = "apis/rust/operator", default-features = false }
dora-core = { version = "0.1.2", path = "libraries/core" }

[package]
name = "dora-examples"
version = "0.0.0"
edition = "2021"
license = "Apache-2.0"


[dev-dependencies]
eyre = "0.6.8"
tokio = "1.20.1"


+ 2
- 2
README.md View File

@@ -12,7 +12,7 @@ Dataflow Oriented Robotic Architecture ⚡

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` ( Ubuntu 20.04 and Ubuntu 22.04 ) 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.
`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.

---
## 📖 Documentation
@@ -101,7 +101,7 @@ communication:
nodes:
- id: op_1
operator:
python: https://raw.githubusercontent.com/dora-rs/dora-drives/main/operators/webcam.py
python: https://raw.githubusercontent.com/dora-rs/dora-drives/main/operators/webcam_op.py
inputs:
tick: dora/timer/millis/100
outputs:


+ 2
- 2
apis/c++/node/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-node-api-cxx"
version = "0.1.1"
version.workspace = true
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@@ -10,7 +10,7 @@ crate-type = ["staticlib"]

[dependencies]
cxx = "1.0.73"
dora-node-api = { version = "0.1.1", path = "../../../apis/rust/node", default-features = false }
dora-node-api = { workspace = true }
eyre = "0.6.8"

[build-dependencies]


+ 2
- 2
apis/c++/operator/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-operator-api-cxx"
version = "0.1.1"
version.workspace = true
edition = "2021"

[lib]
@@ -8,7 +8,7 @@ crate-type = ["staticlib"]

[dependencies]
cxx = "1.0.73"
dora-operator-api = { version = "0.1.1", path = "../../../apis/rust/operator" }
dora-operator-api = { workspace = true }
eyre = "0.6.8"
futures = "0.3.21"
rand = "0.8.5"


+ 1
- 1
apis/c/node/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-node-api-c"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 1
- 1
apis/c/operator/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-operator-api-c"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"
description = "C API implemetation for Dora Operator"


+ 1
- 1
apis/python/node/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-node-api-python"
version = "0.1.1-2"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 1
- 1
apis/python/operator/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-operator-api-python"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 2
- 2
apis/rust/node/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-node-api"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"

@@ -19,7 +19,7 @@ tracing = "0.1.33"
tracing-subscriber = { version = "0.3.15", optional = true }
flume = "0.10.14"
uuid = { version = "1.1.2", features = ["v4"] }
capnp = "0.14.9"
capnp = "0.14.11"
dora-message = { path = "../../../libraries/message" }
dora-core = { path = "../../../libraries/core" }
shared_memory = "0.12.0"


+ 1
- 1
apis/rust/operator/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-operator-api"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"
description = "Rust API implemetation for Dora Operator"


+ 1
- 1
apis/rust/operator/macros/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-operator-api-macros"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"
description = "Rust API Macros for Dora Operator"


+ 1
- 1
apis/rust/operator/types/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-operator-api-types"
version = "0.1.1"
version.workspace = true
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html


+ 1
- 1
binaries/cli/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-cli"
version = "0.1.1"
version.workspace = true
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html


+ 1
- 1
binaries/cli/src/template/rust/node/Cargo-template.toml View File

@@ -6,4 +6,4 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
dora-node-api = { git = "https://github.com/dora-rs/dora.git", tag = "v0.1.1" }
dora-node-api = { git = "https://github.com/dora-rs/dora.git", tag = "v0.1.2" }

+ 1
- 1
binaries/cli/src/template/rust/operator/Cargo-template.toml View File

@@ -9,4 +9,4 @@ edition = "2021"
crate-type = ["cdylib"]

[dependencies]
dora-operator-api = { git = "https://github.com/dora-rs/dora.git", tag = "v0.1.1" }
dora-operator-api = { git = "https://github.com/dora-rs/dora.git", tag = "v0.1.2" }

+ 2
- 2
binaries/coordinator/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-coordinator"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"

@@ -20,7 +20,7 @@ clap = { version = "3.1.8", features = ["derive"] }
uuid = { version = "1.2.1" }
time = "0.3.9"
rand = "0.8.5"
dora-core = { version = "0.1.1", path = "../../libraries/core" }
dora-core = { workspace = true }
dora-message = { path = "../../libraries/message" }
tracing = "0.1.36"
tracing-subscriber = "0.3.15"


+ 2
- 2
binaries/runtime/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-runtime"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"

@@ -11,7 +11,7 @@ clap = { version = "3.1.12", features = ["derive"] }
dora-node-api = { path = "../../apis/rust/node", default-features = false }
dora-operator-api-python = { path = "../../apis/python/operator" }
dora-operator-api-types = { path = "../../apis/rust/operator/types" }
dora-core = { version = "0.1.1", path = "../../libraries/core" }
dora-core = { workspace = true }
dora-tracing = { path = "../../libraries/extensions/telemetry/tracing", optional = true }
dora-metrics = { path = "../../libraries/extensions/telemetry/metrics", optional = true }
opentelemetry = { version = "0.17", features = [


+ 17
- 14
docs/src/installation.md View File

@@ -2,28 +2,31 @@

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. The installation process will be streamlined in the future.

### 1. Compile the dora-coordinator
### Download the binaries from Github

The `dora-coordinator` is responsible for reading the dataflow descriptor file and launching the operators accordingly.

Build it using:
Install `dora` binaries from GitHub releases:

```bash
git clone https://github.com/dora-rs/dora.git
cd dora
cargo build -p dora-coordinator --release
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> ## For Python API
PATH=$PATH:$(pwd):$(pwd)/iceoryx
dora --help
```

### 2. Compile the dora-runtime for operators
#### Or compile from Source

The `dora-runtime` is responsible for managing a set of operators.
Build it using:
```bash
cargo build -p dora-runtime --release
git clone https://github.com/dora-rs/dora.git
cd dora
cargo build -p dora-coordinator -p dora-runtime --release
PATH=$PATH:$(pwd)/target/release
```

### 3. Add those binaries to your path

This step is optional. You can also refer to the executables using their full path or copy them somewhere else.

If you want to use `Iceoryx`. Add `iox-roudi` to the path.
You can find `iox-roudi` with:
```bash
export PATH=$PATH:$(pwd)/target/release
find target -type f -wholename "*/iceoryx-install/bin/iox-roudi"
```

+ 2
- 2
examples/iceoryx/node/Cargo.toml View File

@@ -1,11 +1,11 @@
[package]
name = "iceoryx-example-node"
version = "0.1.1"
version.workspace = true
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
dora-node-api = { version = "0.1.1", path = "../../../apis/rust/node" }
dora-node-api = { workspace = true }
eyre = "0.6.8"
rand = "0.8.5"

+ 1
- 1
examples/iceoryx/operator/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "iceoryx-example-operator"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 2
- 2
examples/iceoryx/sink/Cargo.toml View File

@@ -1,12 +1,12 @@
[package]
name = "iceoryx-example-sink"
version = "0.1.1"
version.workspace = true
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
dora-node-api = { version = "0.1.1", path = "../../../apis/rust/node" }
dora-node-api = { workspace = true }
eyre = "0.6.8"
futures = "0.3.21"
tokio = { version = "1.20.1", features = ["macros"] }

+ 2
- 2
examples/rust-dataflow-url/sink/Cargo.toml View File

@@ -1,10 +1,10 @@
[package]
name = "rust-dataflow-example-sink"
version = "0.1.1"
version.workspace = true
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
dora-node-api = { version = "0.1.1", path = "../../../apis/rust/node" }
dora-node-api = { workspace = true, features = ["zenoh"] }
eyre = "0.6.8"

+ 2
- 2
examples/rust-dataflow/node/Cargo.toml View File

@@ -1,12 +1,12 @@
[package]
name = "rust-dataflow-example-node"
version = "0.1.1"
version.workspace = true
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
dora-node-api = { version = "0.1.1", path = "../../../apis/rust/node" }
dora-node-api = { workspace = true }
eyre = "0.6.8"
futures = "0.3.21"
rand = "0.8.5"


+ 2
- 2
examples/rust-dataflow/sink/Cargo.toml View File

@@ -1,10 +1,10 @@
[package]
name = "rust-dataflow-example-sink"
version = "0.1.1"
version.workspace = true
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
dora-node-api = { version = "0.1.1", path = "../../../apis/rust/node" }
dora-node-api = { workspace = true }
eyre = "0.6.8"

+ 1
- 1
libraries/communication-layer/pub-sub/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "communication-layer-pub-sub"
version = "0.1.1"
version.workspace = true
edition = "2021"

[features]


+ 1
- 1
libraries/communication-layer/request-reply/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "communication-layer-request-reply"
version = "0.1.1"
version.workspace = true
edition = "2021"

[features]


+ 1
- 1
libraries/core/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-core"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 1
- 1
libraries/extensions/download/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-download"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 1
- 1
libraries/extensions/telemetry/metrics/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-metrics"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 1
- 1
libraries/extensions/telemetry/tracing/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-tracing"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 1
- 1
libraries/extensions/zenoh-logger/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "zenoh-logger"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"



+ 2
- 2
libraries/message/Cargo.toml View File

@@ -1,6 +1,6 @@
[package]
name = "dora-message"
version = "0.1.1"
version.workspace = true
edition = "2021"
license = "Apache-2.0"

@@ -12,7 +12,7 @@ build = false
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
capnp = { version = "0.14.6", features = ["unaligned"] }
capnp = { version = "0.14.11", features = ["unaligned"] }
uhlc = "0.5.1"
serde = { version = "1.0.136", features = ["derive"] }



Loading…
Cancel
Save