From cb74ee1aeefbe17e079acd663c256c315faaa9b9 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Fri, 26 Jan 2024 12:58:07 +0100 Subject: [PATCH 1/5] Bump to `0.3.2-rc1` --- Cargo.lock | 66 +++++++++++++++---------------- Cargo.toml | 40 +++++++++---------- Changelog.md | 15 +++++++ README.md | 14 +++---- apis/python/node/dora/__init__.py | 2 +- 5 files changed, 75 insertions(+), 62 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8d3319a6b..351f73b7e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -668,7 +668,7 @@ dependencies = [ [[package]] name = "benchmark-example-node" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-node-api", "eyre", @@ -681,7 +681,7 @@ dependencies = [ [[package]] name = "benchmark-example-sink" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-node-api", "eyre", @@ -1007,7 +1007,7 @@ dependencies = [ [[package]] name = "communication-layer-pub-sub" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "flume", "zenoh", @@ -1015,7 +1015,7 @@ dependencies = [ [[package]] name = "communication-layer-request-reply" -version = "0.3.1" +version = "0.3.2-rc1" [[package]] name = "concurrent-queue" @@ -1397,7 +1397,7 @@ dependencies = [ [[package]] name = "dora-arrow-convert" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "arrow", "eyre", @@ -1405,7 +1405,7 @@ dependencies = [ [[package]] name = "dora-cli" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "bat", "clap 4.4.6", @@ -1435,7 +1435,7 @@ dependencies = [ [[package]] name = "dora-coordinator" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "ctrlc", "dora-core", @@ -1453,7 +1453,7 @@ dependencies = [ [[package]] name = "dora-core" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "aligned-vec", "dora-message", @@ -1470,7 +1470,7 @@ dependencies = [ [[package]] name = "dora-daemon" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "aligned-vec", "async-trait", @@ -1495,7 +1495,7 @@ dependencies = [ [[package]] name = "dora-download" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "eyre", "reqwest", @@ -1523,7 +1523,7 @@ dependencies = [ [[package]] name = "dora-message" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "arrow-data", "arrow-schema", @@ -1534,7 +1534,7 @@ dependencies = [ [[package]] name = "dora-metrics" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "opentelemetry 0.21.0", "opentelemetry-otlp", @@ -1543,7 +1543,7 @@ dependencies = [ [[package]] name = "dora-node-api" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "aligned-vec", "arrow", @@ -1565,7 +1565,7 @@ dependencies = [ [[package]] name = "dora-node-api-c" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "arrow-array", "dora-node-api", @@ -1575,7 +1575,7 @@ dependencies = [ [[package]] name = "dora-node-api-cxx" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "cxx", "cxx-build", @@ -1585,7 +1585,7 @@ dependencies = [ [[package]] name = "dora-node-api-python" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "arrow", "dora-node-api", @@ -1602,7 +1602,7 @@ dependencies = [ [[package]] name = "dora-operator-api" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-arrow-convert", "dora-operator-api-macros", @@ -1611,14 +1611,14 @@ dependencies = [ [[package]] name = "dora-operator-api-c" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-operator-api-types", ] [[package]] name = "dora-operator-api-cxx" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "cxx", "cxx-build", @@ -1627,7 +1627,7 @@ dependencies = [ [[package]] name = "dora-operator-api-macros" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "proc-macro2", "quote", @@ -1636,7 +1636,7 @@ dependencies = [ [[package]] name = "dora-operator-api-python" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "aligned-vec", "arrow", @@ -1650,7 +1650,7 @@ dependencies = [ [[package]] name = "dora-operator-api-types" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "arrow", "dora-arrow-convert", @@ -1659,7 +1659,7 @@ dependencies = [ [[package]] name = "dora-record" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "chrono", "dora-node-api", @@ -1732,7 +1732,7 @@ dependencies = [ [[package]] name = "dora-runtime" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "aligned-vec", "arrow", @@ -1761,7 +1761,7 @@ dependencies = [ [[package]] name = "dora-tracing" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "eyre", "opentelemetry 0.18.0", @@ -3239,7 +3239,7 @@ dependencies = [ [[package]] name = "multiple-daemons-example-node" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-node-api", "eyre", @@ -3250,14 +3250,14 @@ dependencies = [ [[package]] name = "multiple-daemons-example-operator" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-operator-api", ] [[package]] name = "multiple-daemons-example-sink" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-node-api", "eyre", @@ -4658,7 +4658,7 @@ dependencies = [ [[package]] name = "rust-dataflow-example-node" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-node-api", "eyre", @@ -4669,14 +4669,14 @@ dependencies = [ [[package]] name = "rust-dataflow-example-operator" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-operator-api", ] [[package]] name = "rust-dataflow-example-sink" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-node-api", "eyre", @@ -4684,7 +4684,7 @@ dependencies = [ [[package]] name = "rust-ros2-dataflow-example-node" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "dora-node-api", "dora-ros2-bridge", @@ -5088,7 +5088,7 @@ dependencies = [ [[package]] name = "shared-memory-server" -version = "0.3.1" +version = "0.3.2-rc1" dependencies = [ "bincode", "eyre", diff --git a/Cargo.toml b/Cargo.toml index 4d533ed68..ff7b0740c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,31 +33,31 @@ members = [ [workspace.package] # Make sure to also bump `apis/node/python/__init__.py` version. -version = "0.3.1" +version = "0.3.2-rc1" description = "`dora` goal is to be a low latency, composable, and distributed data flow." documentation = "https://dora.carsmos.ai" license = "Apache-2.0" [workspace.dependencies] -dora-node-api = { version = "0.3.1", path = "apis/rust/node", default-features = false } -dora-node-api-python = { version = "0.3.1", path = "apis/python/node", default-features = false } -dora-operator-api = { version = "0.3.1", path = "apis/rust/operator", default-features = false } -dora-operator-api-macros = { version = "0.3.1", path = "apis/rust/operator/macros" } -dora-operator-api-types = { version = "0.3.1", path = "apis/rust/operator/types" } -dora-operator-api-python = { version = "0.3.1", path = "apis/python/operator" } -dora-operator-api-c = { version = "0.3.1", path = "apis/c/operator" } -dora-node-api-c = { version = "0.3.1", path = "apis/c/node" } -dora-core = { version = "0.3.1", path = "libraries/core" } -dora-arrow-convert = { version = "0.3.1", path = "libraries/arrow-convert" } -dora-tracing = { version = "0.3.1", path = "libraries/extensions/telemetry/tracing" } -dora-metrics = { version = "0.3.1", path = "libraries/extensions/telemetry/metrics" } -dora-download = { version = "0.3.1", path = "libraries/extensions/download" } -shared-memory-server = { version = "0.3.1", path = "libraries/shared-memory-server" } -communication-layer-request-reply = { version = "0.3.1", path = "libraries/communication-layer/request-reply" } -dora-message = { version = "0.3.1", path = "libraries/message" } -dora-runtime = { version = "0.3.1", path = "binaries/runtime" } -dora-daemon = { version = "0.3.1", path = "binaries/daemon" } -dora-coordinator = { version = "0.3.1", path = "binaries/coordinator" } +dora-node-api = { version = "0.3.2-rc1", path = "apis/rust/node", default-features = false } +dora-node-api-python = { version = "0.3.2-rc1", path = "apis/python/node", default-features = false } +dora-operator-api = { version = "0.3.2-rc1", path = "apis/rust/operator", default-features = false } +dora-operator-api-macros = { version = "0.3.2-rc1", path = "apis/rust/operator/macros" } +dora-operator-api-types = { version = "0.3.2-rc1", path = "apis/rust/operator/types" } +dora-operator-api-python = { version = "0.3.2-rc1", path = "apis/python/operator" } +dora-operator-api-c = { version = "0.3.2-rc1", path = "apis/c/operator" } +dora-node-api-c = { version = "0.3.2-rc1", path = "apis/c/node" } +dora-core = { version = "0.3.2-rc1", path = "libraries/core" } +dora-arrow-convert = { version = "0.3.2-rc1", path = "libraries/arrow-convert" } +dora-tracing = { version = "0.3.2-rc1", path = "libraries/extensions/telemetry/tracing" } +dora-metrics = { version = "0.3.2-rc1", path = "libraries/extensions/telemetry/metrics" } +dora-download = { version = "0.3.2-rc1", path = "libraries/extensions/download" } +shared-memory-server = { version = "0.3.2-rc1", path = "libraries/shared-memory-server" } +communication-layer-request-reply = { version = "0.3.2-rc1", path = "libraries/communication-layer/request-reply" } +dora-message = { version = "0.3.2-rc1", path = "libraries/message" } +dora-runtime = { version = "0.3.2-rc1", path = "binaries/runtime" } +dora-daemon = { version = "0.3.2-rc1", path = "binaries/daemon" } +dora-coordinator = { version = "0.3.2-rc1", path = "binaries/coordinator" } dora-ros2-bridge = { path = "libraries/extensions/ros2-bridge" } dora-ros2-bridge-python = { path = "libraries/extensions/ros2-bridge/python" } arrow = "48.0.0" diff --git a/Changelog.md b/Changelog.md index ee0fc100c..7fc2b7999 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,20 @@ # Changelog +## v0.3.2 (2024-01-26) + +## Features + +- Wait until `DestroyResult` is sent before exiting dora-daemon by @phil-opp in https://github.com/dora-rs/dora/pull/413 +- Reduce dora-rs to a single binary by @haixuanTao in https://github.com/dora-rs/dora/pull/410 +- Rework python ROS2 (de)serialization using parsed ROS2 messages directly by @phil-opp in https://github.com/dora-rs/dora/pull/415 +- Fix ros2 array bug by @haixuanTao in https://github.com/dora-rs/dora/pull/412 +- Test ros2 type info by @haixuanTao in https://github.com/dora-rs/dora/pull/418 +- Use forward slash as it is default way of defining ros2 topic by @haixuanTao in https://github.com/dora-rs/dora/pull/419 + +## Minor + +- Bump h2 from 0.3.21 to 0.3.24 by @dependabot in https://github.com/dora-rs/dora/pull/414 + ## v0.3.1 (2024-01-09) ## Features diff --git a/README.md b/README.md index a51d2fccf..1c7b9905f 100644 --- a/README.md +++ b/README.md @@ -57,8 +57,6 @@ Quickest way: ```bash cargo install dora-cli -cargo install dora-coordinator -cargo install dora-daemon pip install dora-rs ## For Python API dora --help @@ -71,17 +69,17 @@ For more installation guideline, check out our installation guide here: https:// 1. Install the example python dependencies: ```bash -pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.3.1/examples/python-operator-dataflow/requirements.txt +pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/requirements.txt ``` 2. Get some example operators: ```bash -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.1/examples/python-operator-dataflow/webcam.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.1/examples/python-operator-dataflow/plot.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.1/examples/python-operator-dataflow/utils.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.1/examples/python-operator-dataflow/object_detection.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.1/examples/python-operator-dataflow/dataflow.yml +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/webcam.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/plot.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/utils.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/object_detection.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/dataflow.yml ``` 3. Start the dataflow diff --git a/apis/python/node/dora/__init__.py b/apis/python/node/dora/__init__.py index c5351f50b..7e8fbbc6b 100644 --- a/apis/python/node/dora/__init__.py +++ b/apis/python/node/dora/__init__.py @@ -15,7 +15,7 @@ from .dora import * __author__ = "Dora-rs Authors" -__version__ = "0.3.1" +__version__ = "0.3.2-rc1" class DoraStatus(Enum): From ead8eb965454b151871587ce4bc1a53f7994b9f1 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Fri, 26 Jan 2024 18:14:08 +0100 Subject: [PATCH 2/5] Fix release --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 43c31bdc9..d4cbfd7c2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -57,10 +57,10 @@ jobs: cargo publish -p dora-node-api-c --token ${{ secrets.CARGO_REGISTRY_TOKEN }} # Publish binaries crates - cargo publish -p dora-cli --token ${{ secrets.CARGO_REGISTRY_TOKEN }} cargo publish -p dora-coordinator --token ${{ secrets.CARGO_REGISTRY_TOKEN }} cargo publish -p dora-runtime --token ${{ secrets.CARGO_REGISTRY_TOKEN }} cargo publish -p dora-daemon --token ${{ secrets.CARGO_REGISTRY_TOKEN }} + cargo publish -p dora-cli --token ${{ secrets.CARGO_REGISTRY_TOKEN }} # Publish extension crates cargo publish -p dora-record --token ${{ secrets.CARGO_REGISTRY_TOKEN }} From 573a7bc425eec3a4d648c33c1862b8a80bf1b0e1 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Fri, 26 Jan 2024 18:02:32 +0100 Subject: [PATCH 3/5] Make it possible to check the logs without passing uuid This commit make it possible to check the logs as follows: ```bash dora logs object_detection ``` If more than one dataflow is running, we will inquire for which dataflow to use. --- binaries/cli/src/main.rs | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/binaries/cli/src/main.rs b/binaries/cli/src/main.rs index ab6383bfe..4b25cbddd 100644 --- a/binaries/cli/src/main.rs +++ b/binaries/cli/src/main.rs @@ -90,7 +90,10 @@ enum Command { // Planned for future releases: // Dashboard, /// Show logs of a given dataflow and node. - Logs { dataflow: String, node: String }, + Logs { + dataflow_or_node: String, + node: Option, + }, // Metrics, // Stats, // Get, @@ -191,12 +194,29 @@ fn run() -> eyre::Result<()> { internal_create_with_path_dependencies, } => template::create(args, internal_create_with_path_dependencies)?, Command::Up { config } => up::up(config.as_deref())?, - Command::Logs { dataflow, node } => { - let uuid = Uuid::parse_str(&dataflow).ok(); - let name = if uuid.is_some() { None } else { Some(dataflow) }; + + Command::Logs { + dataflow_or_node, + node, + } => { let mut session = connect_to_coordinator().wrap_err("failed to connect to dora coordinator")?; - logs::logs(&mut *session, uuid, name, node)? + let uuids = query_running_dataflows(&mut *session) + .wrap_err("failed to query running dataflows")?; + if let Some(node) = node { + let dataflow = dataflow_or_node; + let uuid = Uuid::parse_str(&dataflow).ok(); + let name = if uuid.is_some() { None } else { Some(dataflow) }; + logs::logs(&mut *session, uuid, name, node)? + } else { + let uuid = match &uuids[..] { + [] => bail!("No dataflows are running"), + [uuid] => uuid.clone(), + _ => inquire::Select::new("Choose dataflow to show logs:", uuids).prompt()?, + }; + let node = dataflow_or_node; + logs::logs(&mut *session, Some(uuid.uuid), None, node)? + } } Command::Start { dataflow, From 0985bd4f9bf091997850c0695ca50ed3e548cb0a Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Mon, 29 Jan 2024 10:29:58 +0100 Subject: [PATCH 4/5] Make first positional argument optional Bump 0.3.2-rc2 --- Cargo.lock | 66 +++++++++++++++---------------- Cargo.toml | 40 +++++++++---------- README.md | 12 +++--- apis/python/node/dora/__init__.py | 2 +- binaries/cli/src/main.rs | 14 +++---- 5 files changed, 65 insertions(+), 69 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 351f73b7e..d7f2f8a41 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -668,7 +668,7 @@ dependencies = [ [[package]] name = "benchmark-example-node" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-node-api", "eyre", @@ -681,7 +681,7 @@ dependencies = [ [[package]] name = "benchmark-example-sink" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-node-api", "eyre", @@ -1007,7 +1007,7 @@ dependencies = [ [[package]] name = "communication-layer-pub-sub" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "flume", "zenoh", @@ -1015,7 +1015,7 @@ dependencies = [ [[package]] name = "communication-layer-request-reply" -version = "0.3.2-rc1" +version = "0.3.2-rc2" [[package]] name = "concurrent-queue" @@ -1397,7 +1397,7 @@ dependencies = [ [[package]] name = "dora-arrow-convert" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "arrow", "eyre", @@ -1405,7 +1405,7 @@ dependencies = [ [[package]] name = "dora-cli" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "bat", "clap 4.4.6", @@ -1435,7 +1435,7 @@ dependencies = [ [[package]] name = "dora-coordinator" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "ctrlc", "dora-core", @@ -1453,7 +1453,7 @@ dependencies = [ [[package]] name = "dora-core" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "aligned-vec", "dora-message", @@ -1470,7 +1470,7 @@ dependencies = [ [[package]] name = "dora-daemon" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "aligned-vec", "async-trait", @@ -1495,7 +1495,7 @@ dependencies = [ [[package]] name = "dora-download" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "eyre", "reqwest", @@ -1523,7 +1523,7 @@ dependencies = [ [[package]] name = "dora-message" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "arrow-data", "arrow-schema", @@ -1534,7 +1534,7 @@ dependencies = [ [[package]] name = "dora-metrics" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "opentelemetry 0.21.0", "opentelemetry-otlp", @@ -1543,7 +1543,7 @@ dependencies = [ [[package]] name = "dora-node-api" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "aligned-vec", "arrow", @@ -1565,7 +1565,7 @@ dependencies = [ [[package]] name = "dora-node-api-c" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "arrow-array", "dora-node-api", @@ -1575,7 +1575,7 @@ dependencies = [ [[package]] name = "dora-node-api-cxx" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "cxx", "cxx-build", @@ -1585,7 +1585,7 @@ dependencies = [ [[package]] name = "dora-node-api-python" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "arrow", "dora-node-api", @@ -1602,7 +1602,7 @@ dependencies = [ [[package]] name = "dora-operator-api" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-arrow-convert", "dora-operator-api-macros", @@ -1611,14 +1611,14 @@ dependencies = [ [[package]] name = "dora-operator-api-c" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-operator-api-types", ] [[package]] name = "dora-operator-api-cxx" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "cxx", "cxx-build", @@ -1627,7 +1627,7 @@ dependencies = [ [[package]] name = "dora-operator-api-macros" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "proc-macro2", "quote", @@ -1636,7 +1636,7 @@ dependencies = [ [[package]] name = "dora-operator-api-python" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "aligned-vec", "arrow", @@ -1650,7 +1650,7 @@ dependencies = [ [[package]] name = "dora-operator-api-types" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "arrow", "dora-arrow-convert", @@ -1659,7 +1659,7 @@ dependencies = [ [[package]] name = "dora-record" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "chrono", "dora-node-api", @@ -1732,7 +1732,7 @@ dependencies = [ [[package]] name = "dora-runtime" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "aligned-vec", "arrow", @@ -1761,7 +1761,7 @@ dependencies = [ [[package]] name = "dora-tracing" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "eyre", "opentelemetry 0.18.0", @@ -3239,7 +3239,7 @@ dependencies = [ [[package]] name = "multiple-daemons-example-node" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-node-api", "eyre", @@ -3250,14 +3250,14 @@ dependencies = [ [[package]] name = "multiple-daemons-example-operator" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-operator-api", ] [[package]] name = "multiple-daemons-example-sink" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-node-api", "eyre", @@ -4658,7 +4658,7 @@ dependencies = [ [[package]] name = "rust-dataflow-example-node" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-node-api", "eyre", @@ -4669,14 +4669,14 @@ dependencies = [ [[package]] name = "rust-dataflow-example-operator" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-operator-api", ] [[package]] name = "rust-dataflow-example-sink" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-node-api", "eyre", @@ -4684,7 +4684,7 @@ dependencies = [ [[package]] name = "rust-ros2-dataflow-example-node" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "dora-node-api", "dora-ros2-bridge", @@ -5088,7 +5088,7 @@ dependencies = [ [[package]] name = "shared-memory-server" -version = "0.3.2-rc1" +version = "0.3.2-rc2" dependencies = [ "bincode", "eyre", diff --git a/Cargo.toml b/Cargo.toml index ff7b0740c..34dcaacf6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,31 +33,31 @@ members = [ [workspace.package] # Make sure to also bump `apis/node/python/__init__.py` version. -version = "0.3.2-rc1" +version = "0.3.2-rc2" description = "`dora` goal is to be a low latency, composable, and distributed data flow." documentation = "https://dora.carsmos.ai" license = "Apache-2.0" [workspace.dependencies] -dora-node-api = { version = "0.3.2-rc1", path = "apis/rust/node", default-features = false } -dora-node-api-python = { version = "0.3.2-rc1", path = "apis/python/node", default-features = false } -dora-operator-api = { version = "0.3.2-rc1", path = "apis/rust/operator", default-features = false } -dora-operator-api-macros = { version = "0.3.2-rc1", path = "apis/rust/operator/macros" } -dora-operator-api-types = { version = "0.3.2-rc1", path = "apis/rust/operator/types" } -dora-operator-api-python = { version = "0.3.2-rc1", path = "apis/python/operator" } -dora-operator-api-c = { version = "0.3.2-rc1", path = "apis/c/operator" } -dora-node-api-c = { version = "0.3.2-rc1", path = "apis/c/node" } -dora-core = { version = "0.3.2-rc1", path = "libraries/core" } -dora-arrow-convert = { version = "0.3.2-rc1", path = "libraries/arrow-convert" } -dora-tracing = { version = "0.3.2-rc1", path = "libraries/extensions/telemetry/tracing" } -dora-metrics = { version = "0.3.2-rc1", path = "libraries/extensions/telemetry/metrics" } -dora-download = { version = "0.3.2-rc1", path = "libraries/extensions/download" } -shared-memory-server = { version = "0.3.2-rc1", path = "libraries/shared-memory-server" } -communication-layer-request-reply = { version = "0.3.2-rc1", path = "libraries/communication-layer/request-reply" } -dora-message = { version = "0.3.2-rc1", path = "libraries/message" } -dora-runtime = { version = "0.3.2-rc1", path = "binaries/runtime" } -dora-daemon = { version = "0.3.2-rc1", path = "binaries/daemon" } -dora-coordinator = { version = "0.3.2-rc1", path = "binaries/coordinator" } +dora-node-api = { version = "0.3.2-rc2", path = "apis/rust/node", default-features = false } +dora-node-api-python = { version = "0.3.2-rc2", path = "apis/python/node", default-features = false } +dora-operator-api = { version = "0.3.2-rc2", path = "apis/rust/operator", default-features = false } +dora-operator-api-macros = { version = "0.3.2-rc2", path = "apis/rust/operator/macros" } +dora-operator-api-types = { version = "0.3.2-rc2", path = "apis/rust/operator/types" } +dora-operator-api-python = { version = "0.3.2-rc2", path = "apis/python/operator" } +dora-operator-api-c = { version = "0.3.2-rc2", path = "apis/c/operator" } +dora-node-api-c = { version = "0.3.2-rc2", path = "apis/c/node" } +dora-core = { version = "0.3.2-rc2", path = "libraries/core" } +dora-arrow-convert = { version = "0.3.2-rc2", path = "libraries/arrow-convert" } +dora-tracing = { version = "0.3.2-rc2", path = "libraries/extensions/telemetry/tracing" } +dora-metrics = { version = "0.3.2-rc2", path = "libraries/extensions/telemetry/metrics" } +dora-download = { version = "0.3.2-rc2", path = "libraries/extensions/download" } +shared-memory-server = { version = "0.3.2-rc2", path = "libraries/shared-memory-server" } +communication-layer-request-reply = { version = "0.3.2-rc2", path = "libraries/communication-layer/request-reply" } +dora-message = { version = "0.3.2-rc2", path = "libraries/message" } +dora-runtime = { version = "0.3.2-rc2", path = "binaries/runtime" } +dora-daemon = { version = "0.3.2-rc2", path = "binaries/daemon" } +dora-coordinator = { version = "0.3.2-rc2", path = "binaries/coordinator" } dora-ros2-bridge = { path = "libraries/extensions/ros2-bridge" } dora-ros2-bridge-python = { path = "libraries/extensions/ros2-bridge/python" } arrow = "48.0.0" diff --git a/README.md b/README.md index 1c7b9905f..32f5193c3 100644 --- a/README.md +++ b/README.md @@ -69,17 +69,17 @@ For more installation guideline, check out our installation guide here: https:// 1. Install the example python dependencies: ```bash -pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/requirements.txt +pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/requirements.txt ``` 2. Get some example operators: ```bash -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/webcam.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/plot.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/utils.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/object_detection.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc1/examples/python-operator-dataflow/dataflow.yml +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/webcam.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/plot.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/utils.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/object_detection.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/dataflow.yml ``` 3. Start the dataflow diff --git a/apis/python/node/dora/__init__.py b/apis/python/node/dora/__init__.py index 7e8fbbc6b..d8ee3e677 100644 --- a/apis/python/node/dora/__init__.py +++ b/apis/python/node/dora/__init__.py @@ -15,7 +15,7 @@ from .dora import * __author__ = "Dora-rs Authors" -__version__ = "0.3.2-rc1" +__version__ = "0.3.2-rc2" class DoraStatus(Enum): diff --git a/binaries/cli/src/main.rs b/binaries/cli/src/main.rs index 4b25cbddd..e6b5f757b 100644 --- a/binaries/cli/src/main.rs +++ b/binaries/cli/src/main.rs @@ -90,9 +90,10 @@ enum Command { // Planned for future releases: // Dashboard, /// Show logs of a given dataflow and node. + #[command(allow_missing_positional = true)] Logs { - dataflow_or_node: String, - node: Option, + dataflow: Option, + node: String, }, // Metrics, // Stats, @@ -195,16 +196,12 @@ fn run() -> eyre::Result<()> { } => template::create(args, internal_create_with_path_dependencies)?, Command::Up { config } => up::up(config.as_deref())?, - Command::Logs { - dataflow_or_node, - node, - } => { + Command::Logs { dataflow, node } => { let mut session = connect_to_coordinator().wrap_err("failed to connect to dora coordinator")?; let uuids = query_running_dataflows(&mut *session) .wrap_err("failed to query running dataflows")?; - if let Some(node) = node { - let dataflow = dataflow_or_node; + if let Some(dataflow) = dataflow { let uuid = Uuid::parse_str(&dataflow).ok(); let name = if uuid.is_some() { None } else { Some(dataflow) }; logs::logs(&mut *session, uuid, name, node)? @@ -214,7 +211,6 @@ fn run() -> eyre::Result<()> { [uuid] => uuid.clone(), _ => inquire::Select::new("Choose dataflow to show logs:", uuids).prompt()?, }; - let node = dataflow_or_node; logs::logs(&mut *session, Some(uuid.uuid), None, node)? } } From 2faed0e828579d399d915c6e11e232269b5e38a6 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Mon, 29 Jan 2024 11:42:03 +0100 Subject: [PATCH 5/5] Bump to v0.3.2 --- Cargo.lock | 66 +++++++++++++++---------------- Cargo.toml | 40 +++++++++---------- README.md | 12 +++--- apis/python/node/dora/__init__.py | 2 +- 4 files changed, 60 insertions(+), 60 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d7f2f8a41..17b82a089 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -668,7 +668,7 @@ dependencies = [ [[package]] name = "benchmark-example-node" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-node-api", "eyre", @@ -681,7 +681,7 @@ dependencies = [ [[package]] name = "benchmark-example-sink" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-node-api", "eyre", @@ -1007,7 +1007,7 @@ dependencies = [ [[package]] name = "communication-layer-pub-sub" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "flume", "zenoh", @@ -1015,7 +1015,7 @@ dependencies = [ [[package]] name = "communication-layer-request-reply" -version = "0.3.2-rc2" +version = "0.3.2" [[package]] name = "concurrent-queue" @@ -1397,7 +1397,7 @@ dependencies = [ [[package]] name = "dora-arrow-convert" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "arrow", "eyre", @@ -1405,7 +1405,7 @@ dependencies = [ [[package]] name = "dora-cli" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "bat", "clap 4.4.6", @@ -1435,7 +1435,7 @@ dependencies = [ [[package]] name = "dora-coordinator" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "ctrlc", "dora-core", @@ -1453,7 +1453,7 @@ dependencies = [ [[package]] name = "dora-core" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "aligned-vec", "dora-message", @@ -1470,7 +1470,7 @@ dependencies = [ [[package]] name = "dora-daemon" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "aligned-vec", "async-trait", @@ -1495,7 +1495,7 @@ dependencies = [ [[package]] name = "dora-download" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "eyre", "reqwest", @@ -1523,7 +1523,7 @@ dependencies = [ [[package]] name = "dora-message" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "arrow-data", "arrow-schema", @@ -1534,7 +1534,7 @@ dependencies = [ [[package]] name = "dora-metrics" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "opentelemetry 0.21.0", "opentelemetry-otlp", @@ -1543,7 +1543,7 @@ dependencies = [ [[package]] name = "dora-node-api" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "aligned-vec", "arrow", @@ -1565,7 +1565,7 @@ dependencies = [ [[package]] name = "dora-node-api-c" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "arrow-array", "dora-node-api", @@ -1575,7 +1575,7 @@ dependencies = [ [[package]] name = "dora-node-api-cxx" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "cxx", "cxx-build", @@ -1585,7 +1585,7 @@ dependencies = [ [[package]] name = "dora-node-api-python" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "arrow", "dora-node-api", @@ -1602,7 +1602,7 @@ dependencies = [ [[package]] name = "dora-operator-api" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-arrow-convert", "dora-operator-api-macros", @@ -1611,14 +1611,14 @@ dependencies = [ [[package]] name = "dora-operator-api-c" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-operator-api-types", ] [[package]] name = "dora-operator-api-cxx" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "cxx", "cxx-build", @@ -1627,7 +1627,7 @@ dependencies = [ [[package]] name = "dora-operator-api-macros" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "proc-macro2", "quote", @@ -1636,7 +1636,7 @@ dependencies = [ [[package]] name = "dora-operator-api-python" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "aligned-vec", "arrow", @@ -1650,7 +1650,7 @@ dependencies = [ [[package]] name = "dora-operator-api-types" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "arrow", "dora-arrow-convert", @@ -1659,7 +1659,7 @@ dependencies = [ [[package]] name = "dora-record" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "chrono", "dora-node-api", @@ -1732,7 +1732,7 @@ dependencies = [ [[package]] name = "dora-runtime" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "aligned-vec", "arrow", @@ -1761,7 +1761,7 @@ dependencies = [ [[package]] name = "dora-tracing" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "eyre", "opentelemetry 0.18.0", @@ -3239,7 +3239,7 @@ dependencies = [ [[package]] name = "multiple-daemons-example-node" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-node-api", "eyre", @@ -3250,14 +3250,14 @@ dependencies = [ [[package]] name = "multiple-daemons-example-operator" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-operator-api", ] [[package]] name = "multiple-daemons-example-sink" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-node-api", "eyre", @@ -4658,7 +4658,7 @@ dependencies = [ [[package]] name = "rust-dataflow-example-node" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-node-api", "eyre", @@ -4669,14 +4669,14 @@ dependencies = [ [[package]] name = "rust-dataflow-example-operator" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-operator-api", ] [[package]] name = "rust-dataflow-example-sink" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-node-api", "eyre", @@ -4684,7 +4684,7 @@ dependencies = [ [[package]] name = "rust-ros2-dataflow-example-node" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "dora-node-api", "dora-ros2-bridge", @@ -5088,7 +5088,7 @@ dependencies = [ [[package]] name = "shared-memory-server" -version = "0.3.2-rc2" +version = "0.3.2" dependencies = [ "bincode", "eyre", diff --git a/Cargo.toml b/Cargo.toml index 34dcaacf6..6b27c18ee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,31 +33,31 @@ members = [ [workspace.package] # Make sure to also bump `apis/node/python/__init__.py` version. -version = "0.3.2-rc2" +version = "0.3.2" description = "`dora` goal is to be a low latency, composable, and distributed data flow." documentation = "https://dora.carsmos.ai" license = "Apache-2.0" [workspace.dependencies] -dora-node-api = { version = "0.3.2-rc2", path = "apis/rust/node", default-features = false } -dora-node-api-python = { version = "0.3.2-rc2", path = "apis/python/node", default-features = false } -dora-operator-api = { version = "0.3.2-rc2", path = "apis/rust/operator", default-features = false } -dora-operator-api-macros = { version = "0.3.2-rc2", path = "apis/rust/operator/macros" } -dora-operator-api-types = { version = "0.3.2-rc2", path = "apis/rust/operator/types" } -dora-operator-api-python = { version = "0.3.2-rc2", path = "apis/python/operator" } -dora-operator-api-c = { version = "0.3.2-rc2", path = "apis/c/operator" } -dora-node-api-c = { version = "0.3.2-rc2", path = "apis/c/node" } -dora-core = { version = "0.3.2-rc2", path = "libraries/core" } -dora-arrow-convert = { version = "0.3.2-rc2", path = "libraries/arrow-convert" } -dora-tracing = { version = "0.3.2-rc2", path = "libraries/extensions/telemetry/tracing" } -dora-metrics = { version = "0.3.2-rc2", path = "libraries/extensions/telemetry/metrics" } -dora-download = { version = "0.3.2-rc2", path = "libraries/extensions/download" } -shared-memory-server = { version = "0.3.2-rc2", path = "libraries/shared-memory-server" } -communication-layer-request-reply = { version = "0.3.2-rc2", path = "libraries/communication-layer/request-reply" } -dora-message = { version = "0.3.2-rc2", path = "libraries/message" } -dora-runtime = { version = "0.3.2-rc2", path = "binaries/runtime" } -dora-daemon = { version = "0.3.2-rc2", path = "binaries/daemon" } -dora-coordinator = { version = "0.3.2-rc2", path = "binaries/coordinator" } +dora-node-api = { version = "0.3.2", path = "apis/rust/node", default-features = false } +dora-node-api-python = { version = "0.3.2", path = "apis/python/node", default-features = false } +dora-operator-api = { version = "0.3.2", path = "apis/rust/operator", default-features = false } +dora-operator-api-macros = { version = "0.3.2", path = "apis/rust/operator/macros" } +dora-operator-api-types = { version = "0.3.2", path = "apis/rust/operator/types" } +dora-operator-api-python = { version = "0.3.2", path = "apis/python/operator" } +dora-operator-api-c = { version = "0.3.2", path = "apis/c/operator" } +dora-node-api-c = { version = "0.3.2", path = "apis/c/node" } +dora-core = { version = "0.3.2", path = "libraries/core" } +dora-arrow-convert = { version = "0.3.2", path = "libraries/arrow-convert" } +dora-tracing = { version = "0.3.2", path = "libraries/extensions/telemetry/tracing" } +dora-metrics = { version = "0.3.2", path = "libraries/extensions/telemetry/metrics" } +dora-download = { version = "0.3.2", path = "libraries/extensions/download" } +shared-memory-server = { version = "0.3.2", path = "libraries/shared-memory-server" } +communication-layer-request-reply = { version = "0.3.2", path = "libraries/communication-layer/request-reply" } +dora-message = { version = "0.3.2", path = "libraries/message" } +dora-runtime = { version = "0.3.2", path = "binaries/runtime" } +dora-daemon = { version = "0.3.2", path = "binaries/daemon" } +dora-coordinator = { version = "0.3.2", path = "binaries/coordinator" } dora-ros2-bridge = { path = "libraries/extensions/ros2-bridge" } dora-ros2-bridge-python = { path = "libraries/extensions/ros2-bridge/python" } arrow = "48.0.0" diff --git a/README.md b/README.md index 32f5193c3..c455cf545 100644 --- a/README.md +++ b/README.md @@ -69,17 +69,17 @@ For more installation guideline, check out our installation guide here: https:// 1. Install the example python dependencies: ```bash -pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/requirements.txt +pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/requirements.txt ``` 2. Get some example operators: ```bash -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/webcam.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/plot.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/utils.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/object_detection.py -wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2-rc2/examples/python-operator-dataflow/dataflow.yml +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/webcam.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/plot.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/utils.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/object_detection.py +wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/dataflow.yml ``` 3. Start the dataflow diff --git a/apis/python/node/dora/__init__.py b/apis/python/node/dora/__init__.py index d8ee3e677..9c3143d2e 100644 --- a/apis/python/node/dora/__init__.py +++ b/apis/python/node/dora/__init__.py @@ -15,7 +15,7 @@ from .dora import * __author__ = "Dora-rs Authors" -__version__ = "0.3.2-rc2" +__version__ = "0.3.2" class DoraStatus(Enum):