| @@ -631,7 +631,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "benchmark-example-node" | name = "benchmark-example-node" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-node-api", | "dora-node-api", | ||||
| "eyre", | "eyre", | ||||
| @@ -644,7 +644,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "benchmark-example-sink" | name = "benchmark-example-sink" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-node-api", | "dora-node-api", | ||||
| "eyre", | "eyre", | ||||
| @@ -976,7 +976,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "communication-layer-pub-sub" | name = "communication-layer-pub-sub" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "flume", | "flume", | ||||
| "zenoh", | "zenoh", | ||||
| @@ -984,7 +984,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "communication-layer-request-reply" | name = "communication-layer-request-reply" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| [[package]] | [[package]] | ||||
| name = "concurrent-queue" | name = "concurrent-queue" | ||||
| @@ -1343,7 +1343,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-arrow-convert" | name = "dora-arrow-convert" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "arrow", | "arrow", | ||||
| "eyre", | "eyre", | ||||
| @@ -1351,7 +1351,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-cli" | name = "dora-cli" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "bat", | "bat", | ||||
| "clap 4.4.6", | "clap 4.4.6", | ||||
| @@ -1375,7 +1375,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-coordinator" | name = "dora-coordinator" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "clap 4.4.6", | "clap 4.4.6", | ||||
| "ctrlc", | "ctrlc", | ||||
| @@ -1400,7 +1400,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-core" | name = "dora-core" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "aligned-vec", | "aligned-vec", | ||||
| "dora-message", | "dora-message", | ||||
| @@ -1418,7 +1418,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-daemon" | name = "dora-daemon" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "aligned-vec", | "aligned-vec", | ||||
| "arrow-schema", | "arrow-schema", | ||||
| @@ -1447,7 +1447,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-download" | name = "dora-download" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "eyre", | "eyre", | ||||
| "reqwest", | "reqwest", | ||||
| @@ -1476,7 +1476,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-message" | name = "dora-message" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "arrow-data", | "arrow-data", | ||||
| "arrow-schema", | "arrow-schema", | ||||
| @@ -1487,7 +1487,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-metrics" | name = "dora-metrics" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "futures", | "futures", | ||||
| "opentelemetry 0.17.0", | "opentelemetry 0.17.0", | ||||
| @@ -1498,7 +1498,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-node-api" | name = "dora-node-api" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "aligned-vec", | "aligned-vec", | ||||
| "arrow", | "arrow", | ||||
| @@ -1526,7 +1526,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-node-api-c" | name = "dora-node-api-c" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "arrow-array", | "arrow-array", | ||||
| "dora-node-api", | "dora-node-api", | ||||
| @@ -1537,7 +1537,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-node-api-cxx" | name = "dora-node-api-cxx" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "cxx", | "cxx", | ||||
| "cxx-build", | "cxx-build", | ||||
| @@ -1547,7 +1547,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-node-api-python" | name = "dora-node-api-python" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "arrow", | "arrow", | ||||
| "dora-node-api", | "dora-node-api", | ||||
| @@ -1564,7 +1564,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-operator-api" | name = "dora-operator-api" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-arrow-convert", | "dora-arrow-convert", | ||||
| "dora-operator-api-macros", | "dora-operator-api-macros", | ||||
| @@ -1573,14 +1573,14 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-operator-api-c" | name = "dora-operator-api-c" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-operator-api-types", | "dora-operator-api-types", | ||||
| ] | ] | ||||
| [[package]] | [[package]] | ||||
| name = "dora-operator-api-cxx" | name = "dora-operator-api-cxx" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "cxx", | "cxx", | ||||
| "cxx-build", | "cxx-build", | ||||
| @@ -1589,7 +1589,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-operator-api-macros" | name = "dora-operator-api-macros" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "proc-macro2", | "proc-macro2", | ||||
| "quote", | "quote", | ||||
| @@ -1598,7 +1598,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-operator-api-python" | name = "dora-operator-api-python" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "aligned-vec", | "aligned-vec", | ||||
| "arrow", | "arrow", | ||||
| @@ -1612,7 +1612,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-operator-api-types" | name = "dora-operator-api-types" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "arrow", | "arrow", | ||||
| "dora-arrow-convert", | "dora-arrow-convert", | ||||
| @@ -1621,7 +1621,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-record" | name = "dora-record" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "chrono", | "chrono", | ||||
| "dora-node-api", | "dora-node-api", | ||||
| @@ -1694,7 +1694,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-runtime" | name = "dora-runtime" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "aligned-vec", | "aligned-vec", | ||||
| "arrow", | "arrow", | ||||
| @@ -1726,7 +1726,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "dora-tracing" | name = "dora-tracing" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "eyre", | "eyre", | ||||
| "opentelemetry 0.18.0", | "opentelemetry 0.18.0", | ||||
| @@ -3160,7 +3160,7 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" | |||||
| [[package]] | [[package]] | ||||
| name = "multiple-daemons-example-node" | name = "multiple-daemons-example-node" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-node-api", | "dora-node-api", | ||||
| "eyre", | "eyre", | ||||
| @@ -3171,14 +3171,14 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "multiple-daemons-example-operator" | name = "multiple-daemons-example-operator" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-operator-api", | "dora-operator-api", | ||||
| ] | ] | ||||
| [[package]] | [[package]] | ||||
| name = "multiple-daemons-example-sink" | name = "multiple-daemons-example-sink" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-node-api", | "dora-node-api", | ||||
| "eyre", | "eyre", | ||||
| @@ -4502,7 +4502,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "rust-dataflow-example-node" | name = "rust-dataflow-example-node" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-node-api", | "dora-node-api", | ||||
| "eyre", | "eyre", | ||||
| @@ -4513,14 +4513,14 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "rust-dataflow-example-operator" | name = "rust-dataflow-example-operator" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-operator-api", | "dora-operator-api", | ||||
| ] | ] | ||||
| [[package]] | [[package]] | ||||
| name = "rust-dataflow-example-sink" | name = "rust-dataflow-example-sink" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-node-api", | "dora-node-api", | ||||
| "eyre", | "eyre", | ||||
| @@ -4528,7 +4528,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "rust-ros2-dataflow-example-node" | name = "rust-ros2-dataflow-example-node" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "dora-node-api", | "dora-node-api", | ||||
| "dora-ros2-bridge", | "dora-ros2-bridge", | ||||
| @@ -4926,7 +4926,7 @@ dependencies = [ | |||||
| [[package]] | [[package]] | ||||
| name = "shared-memory-server" | name = "shared-memory-server" | ||||
| version = "0.2.6" | |||||
| version = "0.3.0-rc" | |||||
| dependencies = [ | dependencies = [ | ||||
| "bincode", | "bincode", | ||||
| "eyre", | "eyre", | ||||
| @@ -31,31 +31,31 @@ members = [ | |||||
| [workspace.package] | [workspace.package] | ||||
| # Make sure to also bump `apis/node/python/__init__.py` version. | # 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." | description = "`dora` goal is to be a low latency, composable, and distributed data flow." | ||||
| documentation = "https://dora.carsmos.ai" | documentation = "https://dora.carsmos.ai" | ||||
| license = "Apache-2.0" | license = "Apache-2.0" | ||||
| [workspace.dependencies] | [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 = { path = "libraries/extensions/ros2-bridge" } | ||||
| dora-ros2-bridge-python = { path = "libraries/extensions/ros2-bridge/python" } | dora-ros2-bridge-python = { path = "libraries/extensions/ros2-bridge/python" } | ||||
| arrow = "48.0.0" | arrow = "48.0.0" | ||||
| @@ -2,8 +2,6 @@ | |||||
| <img src="./docs/src/logo.svg" width="400"> | <img src="./docs/src/logo.svg" width="400"> | ||||
| </p> | </p> | ||||
| <h2 align="center"> | <h2 align="center"> | ||||
| <a href="https://dora.carsmos.ai">Website</a> | <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! | 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: | 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-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. | - 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 | ## Getting Started | ||||
| 1. Install the example python dependencies: | 1. Install the example python dependencies: | ||||
| ```bash | ```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: | 2. Get some example operators: | ||||
| ```bash | ```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 | 3. Start the dataflow | ||||
| ```bash | ```bash | ||||
| dora up | dora up | ||||
| dora start dataflow.yml --attach --hot-reload | 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> | 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 | ## 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 | ## Discussions | ||||
| Our main communication channels are: | Our main communication channels are: | ||||
| - [Our Discord server](https://discord.gg/6eMGGutkfE) | - [Our Discord server](https://discord.gg/6eMGGutkfE) | ||||
| - [Our Github Project Discussion](https://github.com/orgs/dora-rs/discussions) | - [Our Github Project Discussion](https://github.com/orgs/dora-rs/discussions) | ||||
| @@ -15,7 +15,7 @@ from enum import Enum | |||||
| from .dora import * | from .dora import * | ||||
| __author__ = "Dora-rs Authors" | __author__ = "Dora-rs Authors" | ||||
| __version__ = "0.2.6" | |||||
| __version__ = "0.3.0-rc" | |||||
| class DoraStatus(Enum): | class DoraStatus(Enum): | ||||