Browse Source

Bump version v0.3.6 (#637)

tags/v0.3.6
Haixuan Xavier Tao GitHub 1 year ago
parent
commit
c6abec2b9e
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
13 changed files with 136 additions and 111 deletions
  1. +35
    -35
      Cargo.lock
  2. +19
    -19
      Cargo.toml
  3. +29
    -0
      Changelog.md
  4. +35
    -39
      README.md
  5. +2
    -2
      node-hub/dora-distil-whisper/pyproject.toml
  6. +2
    -2
      node-hub/dora-echo/pyproject.toml
  7. +2
    -2
      node-hub/dora-microphone/pyproject.toml
  8. +2
    -2
      node-hub/opencv-plot/pyproject.toml
  9. +2
    -2
      node-hub/opencv-video-capture/pyproject.toml
  10. +2
    -2
      node-hub/pyarrow-assert/pyproject.toml
  11. +2
    -2
      node-hub/pyarrow-sender/pyproject.toml
  12. +2
    -2
      node-hub/terminal-input/pyproject.toml
  13. +2
    -2
      node-hub/ultralytics-yolo/pyproject.toml

+ 35
- 35
Cargo.lock View File

@@ -1082,7 +1082,7 @@ dependencies = [

[[package]]
name = "benchmark-example-node"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -1095,7 +1095,7 @@ dependencies = [

[[package]]
name = "benchmark-example-sink"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -1758,7 +1758,7 @@ dependencies = [

[[package]]
name = "communication-layer-pub-sub"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"flume 0.10.14",
"zenoh",
@@ -1766,7 +1766,7 @@ dependencies = [

[[package]]
name = "communication-layer-request-reply"
version = "0.3.5"
version = "0.3.6"

[[package]]
name = "concurrent-queue"
@@ -2266,7 +2266,7 @@ dependencies = [

[[package]]
name = "dora-arrow-convert"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"arrow",
"eyre",
@@ -2274,7 +2274,7 @@ dependencies = [

[[package]]
name = "dora-cli"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"bat",
"clap 4.5.16",
@@ -2310,7 +2310,7 @@ dependencies = [

[[package]]
name = "dora-coordinator"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"ctrlc",
"dora-core",
@@ -2330,7 +2330,7 @@ dependencies = [

[[package]]
name = "dora-core"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"eyre",
"log",
@@ -2349,7 +2349,7 @@ dependencies = [

[[package]]
name = "dora-daemon"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"aligned-vec",
"async-trait",
@@ -2381,7 +2381,7 @@ dependencies = [

[[package]]
name = "dora-download"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"eyre",
"reqwest",
@@ -2426,7 +2426,7 @@ dependencies = [

[[package]]
name = "dora-metrics"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"eyre",
"opentelemetry 0.22.0",
@@ -2437,7 +2437,7 @@ dependencies = [

[[package]]
name = "dora-node-api"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"aligned-vec",
"arrow",
@@ -2461,7 +2461,7 @@ dependencies = [

[[package]]
name = "dora-node-api-c"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"arrow-array",
"dora-node-api",
@@ -2471,7 +2471,7 @@ dependencies = [

[[package]]
name = "dora-node-api-cxx"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"cxx",
"cxx-build",
@@ -2488,7 +2488,7 @@ dependencies = [

[[package]]
name = "dora-node-api-python"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"arrow",
"dora-node-api",
@@ -2507,7 +2507,7 @@ dependencies = [

[[package]]
name = "dora-operator-api"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-arrow-convert",
"dora-operator-api-macros",
@@ -2516,14 +2516,14 @@ dependencies = [

[[package]]
name = "dora-operator-api-c"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-operator-api-types",
]

[[package]]
name = "dora-operator-api-cxx"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"cxx",
"cxx-build",
@@ -2532,7 +2532,7 @@ dependencies = [

[[package]]
name = "dora-operator-api-macros"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"proc-macro2",
"quote",
@@ -2541,7 +2541,7 @@ dependencies = [

[[package]]
name = "dora-operator-api-python"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"aligned-vec",
"arrow",
@@ -2557,7 +2557,7 @@ dependencies = [

[[package]]
name = "dora-operator-api-types"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"arrow",
"dora-arrow-convert",
@@ -2566,7 +2566,7 @@ dependencies = [

[[package]]
name = "dora-record"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"chrono",
"dora-node-api",
@@ -2578,7 +2578,7 @@ dependencies = [

[[package]]
name = "dora-rerun"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -2644,7 +2644,7 @@ dependencies = [

[[package]]
name = "dora-runtime"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"aligned-vec",
"arrow",
@@ -2672,7 +2672,7 @@ dependencies = [

[[package]]
name = "dora-tracing"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"eyre",
"opentelemetry 0.18.0",
@@ -5006,7 +5006,7 @@ dependencies = [

[[package]]
name = "multiple-daemons-example-node"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -5017,14 +5017,14 @@ dependencies = [

[[package]]
name = "multiple-daemons-example-operator"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-operator-api",
]

[[package]]
name = "multiple-daemons-example-sink"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -8222,7 +8222,7 @@ dependencies = [

[[package]]
name = "rust-dataflow-example-node"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -8233,7 +8233,7 @@ dependencies = [

[[package]]
name = "rust-dataflow-example-sink"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -8241,7 +8241,7 @@ dependencies = [

[[package]]
name = "rust-dataflow-example-sink-dynamic"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -8249,7 +8249,7 @@ dependencies = [

[[package]]
name = "rust-dataflow-example-status-node"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",
@@ -8268,7 +8268,7 @@ dependencies = [

[[package]]
name = "rust-ros2-dataflow-example-node"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"dora-ros2-bridge",
@@ -8789,7 +8789,7 @@ dependencies = [

[[package]]
name = "shared-memory-server"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"bincode",
"eyre",
@@ -9362,7 +9362,7 @@ dependencies = [

[[package]]
name = "terminal-print"
version = "0.3.5"
version = "0.3.6"
dependencies = [
"dora-node-api",
"eyre",


+ 19
- 19
Cargo.toml View File

@@ -40,31 +40,31 @@ members = [

[workspace.package]
# Make sure to also bump `apis/node/python/__init__.py` version.
version = "0.3.5"
version = "0.3.6"
description = "`dora` goal is to be a low latency, composable, and distributed data flow."
documentation = "https://dora.carsmos.ai"
license = "Apache-2.0"
repository = "https://github.com/dora-rs/dora/"

[workspace.dependencies]
dora-node-api = { version = "0.3.5", path = "apis/rust/node", default-features = false }
dora-node-api-python = { version = "0.3.5", path = "apis/python/node", default-features = false }
dora-operator-api = { version = "0.3.5", path = "apis/rust/operator", default-features = false }
dora-operator-api-macros = { version = "0.3.5", path = "apis/rust/operator/macros" }
dora-operator-api-types = { version = "0.3.5", path = "apis/rust/operator/types" }
dora-operator-api-python = { version = "0.3.5", path = "apis/python/operator" }
dora-operator-api-c = { version = "0.3.5", path = "apis/c/operator" }
dora-node-api-c = { version = "0.3.5", path = "apis/c/node" }
dora-core = { version = "0.3.5", path = "libraries/core" }
dora-arrow-convert = { version = "0.3.5", path = "libraries/arrow-convert" }
dora-tracing = { version = "0.3.5", path = "libraries/extensions/telemetry/tracing" }
dora-metrics = { version = "0.3.5", path = "libraries/extensions/telemetry/metrics" }
dora-download = { version = "0.3.5", path = "libraries/extensions/download" }
shared-memory-server = { version = "0.3.5", path = "libraries/shared-memory-server" }
communication-layer-request-reply = { version = "0.3.5", path = "libraries/communication-layer/request-reply" }
dora-runtime = { version = "0.3.5", path = "binaries/runtime" }
dora-daemon = { version = "0.3.5", path = "binaries/daemon" }
dora-coordinator = { version = "0.3.5", path = "binaries/coordinator" }
dora-node-api = { version = "0.3.6", path = "apis/rust/node", default-features = false }
dora-node-api-python = { version = "0.3.6", path = "apis/python/node", default-features = false }
dora-operator-api = { version = "0.3.6", path = "apis/rust/operator", default-features = false }
dora-operator-api-macros = { version = "0.3.6", path = "apis/rust/operator/macros" }
dora-operator-api-types = { version = "0.3.6", path = "apis/rust/operator/types" }
dora-operator-api-python = { version = "0.3.6", path = "apis/python/operator" }
dora-operator-api-c = { version = "0.3.6", path = "apis/c/operator" }
dora-node-api-c = { version = "0.3.6", path = "apis/c/node" }
dora-core = { version = "0.3.6", path = "libraries/core" }
dora-arrow-convert = { version = "0.3.6", path = "libraries/arrow-convert" }
dora-tracing = { version = "0.3.6", path = "libraries/extensions/telemetry/tracing" }
dora-metrics = { version = "0.3.6", path = "libraries/extensions/telemetry/metrics" }
dora-download = { version = "0.3.6", path = "libraries/extensions/download" }
shared-memory-server = { version = "0.3.6", path = "libraries/shared-memory-server" }
communication-layer-request-reply = { version = "0.3.6", path = "libraries/communication-layer/request-reply" }
dora-runtime = { version = "0.3.6", path = "binaries/runtime" }
dora-daemon = { version = "0.3.6", path = "binaries/daemon" }
dora-coordinator = { version = "0.3.6", path = "binaries/coordinator" }
dora-ros2-bridge = { path = "libraries/extensions/ros2-bridge" }
dora-ros2-bridge-msg-gen = { path = "libraries/extensions/ros2-bridge/msg-gen" }
dora-ros2-bridge-python = { path = "libraries/extensions/ros2-bridge/python" }


+ 29
- 0
Changelog.md View File

@@ -1,5 +1,34 @@
# Changelog

## v0.3.6 (2024-08-17)

## What's Changed

- Update dependencies by @renovate in https://github.com/dora-rs/dora/pull/579
- Don't wait for non-started dynamic nodes on stop by @phil-opp in https://github.com/dora-rs/dora/pull/583
- add a comment on read_dora_input_id by @XxChang in https://github.com/dora-rs/dora/pull/580
- Update dependencies by @renovate in https://github.com/dora-rs/dora/pull/584
- Update dependencies by @renovate in https://github.com/dora-rs/dora/pull/585
- Add domain unix socket supports by @XxChang in https://github.com/dora-rs/dora/pull/594
- Check build for cross-compiled targets on CI by @phil-opp in https://github.com/dora-rs/dora/pull/597
- Test pip release creation as part of normal CI by @phil-opp in https://github.com/dora-rs/dora/pull/596
- Add-armv7-musleabihf-prebuilt-release by @haixuanTao in https://github.com/dora-rs/dora/pull/578
- Update dependencies by @renovate in https://github.com/dora-rs/dora/pull/602
- Delay dropping of `DoraNode` in Python until all event data is freed by @phil-opp in https://github.com/dora-rs/dora/pull/601
- Add install script by @haixuanTao in https://github.com/dora-rs/dora/pull/600
- Nodes hub to store and reuse commonly used node by @haixuanTao in https://github.com/dora-rs/dora/pull/569
- Ros2-bridge action attempt by @starlitxiling in https://github.com/dora-rs/dora/pull/567
- Update dependencies by @renovate in https://github.com/dora-rs/dora/pull/605
- Add a CI/CD for the node-hub by @haixuanTao in https://github.com/dora-rs/dora/pull/604
- Update dependencies by @renovate in https://github.com/dora-rs/dora/pull/608
- Remove dynamic node from pending nodes before starting a dataflow by @haixuanTao in https://github.com/dora-rs/dora/pull/606
- Fix alignment of atomics in shared memory communication channel by @phil-opp in https://github.com/dora-rs/dora/pull/612
- Update dependencies by @renovate in https://github.com/dora-rs/dora/pull/622
- Refactor: Move message definitions to `dora-message` crate by @phil-opp in https://github.com/dora-rs/dora/pull/613
- Update README.md by @heyong4725 in https://github.com/dora-rs/dora/pull/623
- Update Rust crate serde to v1.0.207 by @renovate in https://github.com/dora-rs/dora/pull/624
- fix clippy warnings by @Michael-J-Ward in https://github.com/dora-rs/dora/pull/626

## v0.3.5 (2024-07-03)

## What's Changed


+ 35
- 39
README.md View File

@@ -60,35 +60,40 @@ Each node defines its inputs and outputs to connect with other nodes.

```yaml
nodes:
- id: webcam
custom:
source: webcam.py
inputs:
tick: dora/timer/millis/50
outputs:
- image

- id: object_detection
custom:
source: object_detection.py
inputs:
image: webcam/image
outputs:
- bbox
- id: camera
build: pip install ../../node-hub/opencv-video-capture
path: opencv-video-capture
inputs:
tick: dora/timer/millis/20
outputs:
- image
env:
CAPTURE_PATH: 0
IMAGE_WIDTH: 640
IMAGE_HEIGHT: 480

- id: object-detection
build: pip install ../../node-hub/ultralytics-yolo
path: ultralytics-yolo
inputs:
image:
source: camera/image
queue_size: 1
outputs:
- bbox
env:
MODEL: yolov8n.pt

- id: plot
custom:
source: plot.py
inputs:
image: webcam/image
bbox: object_detection/bbox
build: pip install ../../node-hub/opencv-plot
path: opencv-plot
inputs:
image:
source: camera/image
queue_size: 1
bbox: object-detection/bbox
```

Nodes can either be:

- custom nodes where dora-rs is embedded as a native libraries.
- runtime nodes where dora-rs takes care of the main loop and run user-defined operators. This makes dora-rs featureful as we can run features like `hot-reloading`.

The dataflow paradigm has the advantage of creating an abstraction layer that makes robotic applications modular and easily configurable.

<a href="https://www.dora-rs.ai/">
@@ -148,7 +153,6 @@ Quickest way:

```bash
cargo install dora-cli --locked
pip install dora-rs # For Python API

dora --help
```
@@ -157,27 +161,19 @@ For more info on installation, check out [our guide](https://www.dora-rs.ai/docs

## Getting Started

1. Install the example python dependencies:
1. Run the example:

```bash
pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.3.5/examples/python-operator-dataflow/requirements.txt
git clone https://github.com/dora-rs/dora
cd examples/python-dataflow
dora build dataflow.yml
```

2. Get some example operators:

```bash
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.5/examples/python-operator-dataflow/webcam.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.5/examples/python-operator-dataflow/plot.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.5/examples/python-operator-dataflow/utils.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.5/examples/python-operator-dataflow/object_detection.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.5/examples/python-operator-dataflow/dataflow.yml
```

3. Start the dataflow

```bash
dora up
dora start dataflow.yml --attach --hot-reload
dora start dataflow.yml
```

> Make sure to have a webcam


+ 2
- 2
node-hub/dora-distil-whisper/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "dora-distil-whisper"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -13,7 +13,7 @@ readme = "README.md"
packages = [{ include = "dora_distil_whisper" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
pyarrow = ">= 5.0.0"
transformers = ">= 4.0.0"


+ 2
- 2
node-hub/dora-echo/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "dora-echo"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -13,7 +13,7 @@ readme = "README.md"
packages = [{ include = "dora_echo" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
pyarrow = ">= 5.0.0"



+ 2
- 2
node-hub/dora-microphone/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "dora-microphone"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -13,7 +13,7 @@ readme = "README.md"
packages = [{ include = "dora_microphone" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
pyarrow = ">= 5.0.0"
sounddevice = "^0.4.6"


+ 2
- 2
node-hub/opencv-plot/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "opencv-plot"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -11,7 +11,7 @@ readme = "README.md"
packages = [{ include = "opencv_plot" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
opencv-python = ">= 4.1.1"



+ 2
- 2
node-hub/opencv-video-capture/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "opencv-video-capture"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -11,7 +11,7 @@ readme = "README.md"
packages = [{ include = "opencv_video_capture" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
opencv-python = ">= 4.1.1"



+ 2
- 2
node-hub/pyarrow-assert/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "pyarrow-assert"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -13,7 +13,7 @@ readme = "README.md"
packages = [{ include = "pyarrow_assert" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
pyarrow = ">= 5.0.0"



+ 2
- 2
node-hub/pyarrow-sender/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "pyarrow-sender"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -13,7 +13,7 @@ readme = "README.md"
packages = [{ include = "pyarrow_sender" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
pyarrow = ">= 5.0.0"



+ 2
- 2
node-hub/terminal-input/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "terminal-input"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -13,7 +13,7 @@ readme = "README.md"
packages = [{ include = "terminal_input" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
pyarrow = ">= 5.0.0"



+ 2
- 2
node-hub/ultralytics-yolo/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "ultralytics-yolo"
version = "0.3.5"
version = "0.3.6"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",
@@ -11,7 +11,7 @@ readme = "README.md"
packages = [{ include = "ultralytics_yolo" }]

[tool.poetry.dependencies]
dora-rs = "0.3.5"
dora-rs = "^0.3.6"
numpy = "< 2.0.0"
ultralytics = "<= 8.2.52"



Loading…
Cancel
Save