diff --git a/Cargo.lock b/Cargo.lock index 553bb088..3864c0b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -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", diff --git a/Cargo.toml b/Cargo.toml index 283c412f..e23724c7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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" diff --git a/README.md b/README.md index 169b063d..6cfb0338 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@

- -

Website | @@ -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 ctrl+c @@ -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) diff --git a/apis/python/node/dora/__init__.py b/apis/python/node/dora/__init__.py index e03612a4..71ead779 100644 --- a/apis/python/node/dora/__init__.py +++ b/apis/python/node/dora/__init__.py @@ -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):