| @@ -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", | |||
| @@ -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" | |||
| @@ -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 | |||
| @@ -15,7 +15,7 @@ from enum import Enum | |||
| from .dora import * | |||
| __author__ = "Dora-rs Authors" | |||
| __version__ = "0.3.2-rc1" | |||
| __version__ = "0.3.2-rc2" | |||
| class DoraStatus(Enum): | |||
| @@ -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<String>, | |||
| dataflow: Option<String>, | |||
| 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)? | |||
| } | |||
| } | |||