| @@ -631,7 +631,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "benchmark-example-node" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-node-api", | |||
| "eyre", | |||
| @@ -644,7 +644,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "benchmark-example-sink" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-node-api", | |||
| "eyre", | |||
| @@ -976,7 +976,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "communication-layer-pub-sub" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "flume", | |||
| "zenoh", | |||
| @@ -984,7 +984,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "communication-layer-request-reply" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| [[package]] | |||
| name = "concurrent-queue" | |||
| @@ -1343,7 +1343,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-arrow-convert" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "arrow", | |||
| "eyre", | |||
| @@ -1351,7 +1351,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-cli" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "bat", | |||
| "clap 4.4.6", | |||
| @@ -1375,7 +1375,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-coordinator" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "clap 4.4.6", | |||
| "ctrlc", | |||
| @@ -1400,7 +1400,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-core" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "aligned-vec", | |||
| "dora-message", | |||
| @@ -1418,7 +1418,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-daemon" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "aligned-vec", | |||
| "arrow-schema", | |||
| @@ -1447,7 +1447,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-download" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "eyre", | |||
| "reqwest", | |||
| @@ -1476,7 +1476,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-message" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "arrow-data", | |||
| "arrow-schema", | |||
| @@ -1487,7 +1487,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-metrics" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "futures", | |||
| "opentelemetry 0.17.0", | |||
| @@ -1498,7 +1498,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-node-api" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "aligned-vec", | |||
| "arrow", | |||
| @@ -1526,7 +1526,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-node-api-c" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "arrow-array", | |||
| "dora-node-api", | |||
| @@ -1537,7 +1537,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-node-api-cxx" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "cxx", | |||
| "cxx-build", | |||
| @@ -1547,7 +1547,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-node-api-python" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "arrow", | |||
| "dora-node-api", | |||
| @@ -1564,7 +1564,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-operator-api" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-arrow-convert", | |||
| "dora-operator-api-macros", | |||
| @@ -1573,14 +1573,14 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-operator-api-c" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-operator-api-types", | |||
| ] | |||
| [[package]] | |||
| name = "dora-operator-api-cxx" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "cxx", | |||
| "cxx-build", | |||
| @@ -1589,7 +1589,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-operator-api-macros" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "proc-macro2", | |||
| "quote", | |||
| @@ -1598,7 +1598,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-operator-api-python" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "aligned-vec", | |||
| "arrow", | |||
| @@ -1612,7 +1612,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-operator-api-types" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "arrow", | |||
| "dora-arrow-convert", | |||
| @@ -1621,7 +1621,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-record" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "chrono", | |||
| "dora-node-api", | |||
| @@ -1694,7 +1694,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-runtime" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "aligned-vec", | |||
| "arrow", | |||
| @@ -1726,7 +1726,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "dora-tracing" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "eyre", | |||
| "opentelemetry 0.18.0", | |||
| @@ -3160,7 +3160,7 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" | |||
| [[package]] | |||
| name = "multiple-daemons-example-node" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-node-api", | |||
| "eyre", | |||
| @@ -3171,14 +3171,14 @@ dependencies = [ | |||
| [[package]] | |||
| name = "multiple-daemons-example-operator" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-operator-api", | |||
| ] | |||
| [[package]] | |||
| name = "multiple-daemons-example-sink" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-node-api", | |||
| "eyre", | |||
| @@ -4502,7 +4502,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "rust-dataflow-example-node" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-node-api", | |||
| "eyre", | |||
| @@ -4513,14 +4513,14 @@ dependencies = [ | |||
| [[package]] | |||
| name = "rust-dataflow-example-operator" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-operator-api", | |||
| ] | |||
| [[package]] | |||
| name = "rust-dataflow-example-sink" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-node-api", | |||
| "eyre", | |||
| @@ -4528,7 +4528,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "rust-ros2-dataflow-example-node" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "dora-node-api", | |||
| "dora-ros2-bridge", | |||
| @@ -4926,7 +4926,7 @@ dependencies = [ | |||
| [[package]] | |||
| name = "shared-memory-server" | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| dependencies = [ | |||
| "bincode", | |||
| "eyre", | |||
| @@ -31,31 +31,31 @@ members = [ | |||
| [workspace.package] | |||
| # Make sure to also bump `apis/node/python/__init__.py` version. | |||
| version = "0.2.6" | |||
| version = "0.3.0-rc" | |||
| 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.2.6", path = "apis/rust/node", default-features = false } | |||
| dora-node-api-python = { version = "0.2.6", path = "apis/python/node", default-features = false } | |||
| dora-operator-api = { version = "0.2.6", path = "apis/rust/operator", default-features = false } | |||
| dora-operator-api-macros = { version = "0.2.6", path = "apis/rust/operator/macros" } | |||
| dora-operator-api-types = { version = "0.2.6", path = "apis/rust/operator/types" } | |||
| dora-operator-api-python = { version = "0.2.6", path = "apis/python/operator" } | |||
| dora-operator-api-c = { version = "0.2.6", path = "apis/c/operator" } | |||
| dora-node-api-c = { version = "0.2.6", path = "apis/c/node" } | |||
| dora-core = { version = "0.2.6", path = "libraries/core" } | |||
| dora-arrow-convert = { version = "0.2.6", path = "libraries/arrow-convert" } | |||
| dora-tracing = { version = "0.2.6", path = "libraries/extensions/telemetry/tracing" } | |||
| dora-metrics = { version = "0.2.6", path = "libraries/extensions/telemetry/metrics" } | |||
| dora-download = { version = "0.2.6", path = "libraries/extensions/download" } | |||
| shared-memory-server = { version = "0.2.6", path = "libraries/shared-memory-server" } | |||
| communication-layer-request-reply = { version = "0.2.6", path = "libraries/communication-layer/request-reply" } | |||
| dora-message = { version = "0.2.6", path = "libraries/message" } | |||
| dora-runtime = { version = "0.2.6", path = "binaries/runtime" } | |||
| dora-daemon = { version = "0.2.6", path = "binaries/daemon" } | |||
| dora-coordinator = { version = "0.2.6", path = "binaries/coordinator" } | |||
| dora-node-api = { version = "0.3.0-rc", path = "apis/rust/node", default-features = false } | |||
| dora-node-api-python = { version = "0.3.0-rc", path = "apis/python/node", default-features = false } | |||
| dora-operator-api = { version = "0.3.0-rc", path = "apis/rust/operator", default-features = false } | |||
| dora-operator-api-macros = { version = "0.3.0-rc", path = "apis/rust/operator/macros" } | |||
| dora-operator-api-types = { version = "0.3.0-rc", path = "apis/rust/operator/types" } | |||
| dora-operator-api-python = { version = "0.3.0-rc", path = "apis/python/operator" } | |||
| dora-operator-api-c = { version = "0.3.0-rc", path = "apis/c/operator" } | |||
| dora-node-api-c = { version = "0.3.0-rc", path = "apis/c/node" } | |||
| dora-core = { version = "0.3.0-rc", path = "libraries/core" } | |||
| dora-arrow-convert = { version = "0.3.0-rc", path = "libraries/arrow-convert" } | |||
| dora-tracing = { version = "0.3.0-rc", path = "libraries/extensions/telemetry/tracing" } | |||
| dora-metrics = { version = "0.3.0-rc", path = "libraries/extensions/telemetry/metrics" } | |||
| dora-download = { version = "0.3.0-rc", path = "libraries/extensions/download" } | |||
| shared-memory-server = { version = "0.3.0-rc", path = "libraries/shared-memory-server" } | |||
| communication-layer-request-reply = { version = "0.3.0-rc", path = "libraries/communication-layer/request-reply" } | |||
| dora-message = { version = "0.3.0-rc", path = "libraries/message" } | |||
| dora-runtime = { version = "0.3.0-rc", path = "binaries/runtime" } | |||
| dora-daemon = { version = "0.3.0-rc", path = "binaries/daemon" } | |||
| dora-coordinator = { version = "0.3.0-rc", 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" | |||
| @@ -2,8 +2,6 @@ | |||
| <img src="./docs/src/logo.svg" width="400"> | |||
| </p> | |||
| <h2 align="center"> | |||
| <a href="https://dora.carsmos.ai">Website</a> | |||
| | | |||
| @@ -42,6 +40,7 @@ dora-rs can already show impressive performance, up to 17x speedup compared to R | |||
| Those performance improvements make a world of difference for beginners, AI practitioners, and weekend hobbyists who have been limited by the lack of support for Python in this field! | |||
| But, dora-rs is still experimental and we're still working on many features such as: | |||
| - [dora-ros2-bridge](https://github.com/dora-rs/dora-ros2-bridge) to bridge dora and ros 2! | |||
| - dora-rs for Deep Learning applications, to make it easy to integrate state of the art DL model and hopefully train them within the framework. | |||
| @@ -70,28 +69,30 @@ For more installation guideline, check out our installation guide here: https:// | |||
| ## Getting Started | |||
| 1. Install the example python dependencies: | |||
| ```bash | |||
| pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.2.6/examples/python-operator-dataflow/requirements.txt | |||
| pip install -r https://raw.githubusercontent.com/dora-rs/dora/v0.3.0-rc/examples/python-operator-dataflow/requirements.txt | |||
| ``` | |||
| 2. Get some example operators: | |||
| ```bash | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.2.6/examples/python-operator-dataflow/webcam.py | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.2.6/examples/python-operator-dataflow/plot.py | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.2.6/examples/python-operator-dataflow/utils.py | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.2.6/examples/python-operator-dataflow/object_detection.py | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.2.6/examples/python-operator-dataflow/dataflow.yml | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.0-rc/examples/python-operator-dataflow/webcam.py | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.0-rc/examples/python-operator-dataflow/plot.py | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.0-rc/examples/python-operator-dataflow/utils.py | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.0-rc/examples/python-operator-dataflow/object_detection.py | |||
| wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.0-rc/examples/python-operator-dataflow/dataflow.yml | |||
| ``` | |||
| 3. Start the dataflow | |||
| ```bash | |||
| dora up | |||
| dora start dataflow.yml --attach --hot-reload | |||
| ``` | |||
| > Make sure to have a webcam | |||
| > Make sure to have a webcam | |||
| To stop your dataflow, you can use <kbd>ctrl</kbd>+<kbd>c</kbd> | |||
| @@ -99,11 +100,12 @@ To go further, you can add a yolov5 operator, check out our getting started here | |||
| ## Documentation | |||
| The full documentation is available on our website: https://dora.carsmos.ai | |||
| The full documentation is available on our website: https://dora.carsmos.ai | |||
| ## Discussions | |||
| Our main communication channels are: | |||
| - [Our Discord server](https://discord.gg/6eMGGutkfE) | |||
| - [Our Github Project Discussion](https://github.com/orgs/dora-rs/discussions) | |||
| @@ -15,7 +15,7 @@ from enum import Enum | |||
| from .dora import * | |||
| __author__ = "Dora-rs Authors" | |||
| __version__ = "0.2.6" | |||
| __version__ = "0.3.0-rc" | |||
| class DoraStatus(Enum): | |||