Philipp Oppermann
46ec035764
Add a daemon mode for coordinator
3 years ago
Xavier Tao
62b780d92b
Add `dora-node-api-python` package publication on pypi to release workflow ( #92 )
* add `pip` release in release workflow
* add blank space
* Reduce Python verion to 3.7 for default conda support
* Split CI workflows to avoid name collusions
There is a name collusion issue within cargo. See: https://github.com/rust-lang/cargo/issues/6313
That make it impossible to build at the same time the `dora` cli binary,
and the `dora` python shared library.
To avoid the collusion, this commit split the two workflows:
- `main` workflows consists of default-members and is tested on `ci.yml`
- `python` workflow is on `ci-python.yaml` which is only run when python file changed.
* add root example package
* add python version
* Fix Minor pypi release issue
- Name is `dora-rs` and not `dora`
- maturin 0.13 does not have `extension-module` features built in.
* Use `--all` to check build of `dora`
As the cli name was changed to `dora-cli`, we don't have name collusion anymore and can use `--all` flags for building and testing `dora`
3 years ago
Xavier Tao
c3c91e6913
Add metadata serialisation for python operator ( #91 )
Fix python operator error due to non-present metadata.
This commit add an optional argument for metadata as a Python dictionnary.
The Python dictionnary instead of a class gives us more flexibility, at the cost of parsing items and casting types.
3 years ago
Philipp Oppermann
99fa19da20
Merge pull request #90 from dora-rs/ci-release
Create release artifacts on the CI
3 years ago
Philipp Oppermann
2a9495cb68
Merge pull request #84 from dora-rs/cli
Start creating command line interface with `check`, `build`, `graph` and `templates` commands
3 years ago
Philipp Oppermann
f052a6929c
Rename the dora cli executable to `dora-cli`
To avoid name collision with Python package.
The executable is renamed back to `dora` in the release archive for easier usage.
3 years ago
Philipp Oppermann
3c565dc7ae
Fix folder paths in zip creation
3 years ago
Philipp Oppermann
0e37507367
Merge pull request #86 from dora-rs/zero-copy
Add a separate `prepare` step to publishers to allow zero copy send operations
3 years ago
Philipp Oppermann
ffe5b6cd10
Include version and CPU arch in archive name
3 years ago
Philipp Oppermann
047b2dbdbd
Fix zip creation to include subfolders
3 years ago
Philipp Oppermann
eccb5cdbd2
Include iceoryx roudi in release artifacts
3 years ago
Philipp Oppermann
ae5015df0a
Fix: the `dora-cli` package creates an executable named `dora`
3 years ago
Philipp Oppermann
a166c2075a
Fix syntax for Compress-Archive
3 years ago
Philipp Oppermann
a621826f93
Create dora release artifacts on CI
3 years ago
Philipp Oppermann
e77ddac817
Implement `template` command for C
3 years ago
Philipp Oppermann
22a39da66a
Implement `template` command to create new operators and custom nodes
3 years ago
Philipp Oppermann
a31036eabf
Update cli to clap v4
3 years ago
Philipp Oppermann
4e30103215
Add a `--open` option `graph` command to open graph in browser automatically
3 years ago
Philipp Oppermann
b266b82b7c
Render graph as HTML to allow opening it in browser directly
3 years ago
Philipp Oppermann
c9ec58db1c
Implement a cli `check` command that verifies paths and input mappings
3 years ago
Philipp Oppermann
4aa88473f0
Implement a `dora-cli build` command to build all nodes/operators
Runs the build commands specified for the nodes and operators of a dataflow.
3 years ago
Philipp Oppermann
dd50d2ebd8
Add support for build command to nodes and operator definitions
3 years ago
Philipp Oppermann
e16fa5bafb
Configure capnproto to support deserializing unaligned buffers
3 years ago
Philipp Oppermann
0caab8f5b6
Print error causes for message parsing errors
3 years ago
Philipp Oppermann
47896abe81
Fix: Also add metadata to data slice
3 years ago
Philipp Oppermann
d13eb683ce
Fix compile errors in c++ example
3 years ago
Philipp Oppermann
e8c17a864e
Adjust C and python node apis for new input/output API
3 years ago
Philipp Oppermann
6ab39e229b
Don't serialize data to provide true zero-copy reading and writing
3 years ago
Philipp Oppermann
b7bf038141
Add a separate `prepare` step to publishers to allow zero copy send operations
3 years ago
Philipp Oppermann
381f638278
Merge pull request #83 from dora-rs/tracing
Use `tracing` for logging state of nodes, coordinator, and runtimes
3 years ago
Philipp Oppermann
51fb97caab
Merge pull request #82 from dora-rs/capn-proto-messages
Send metadata in messages encoded with capnproto
3 years ago
Philipp Oppermann
d57cafadc4
Implement `dora graph` subcommand based on coordinator visualization code
3 years ago
Philipp Oppermann
4ed7eb2faa
Start creating boilerplate for new cli binary
3 years ago
Philipp Oppermann
e001dafa29
Merge pull request #80 from dora-rs/fix-warnings
Fix clippy warnings across whole projects
3 years ago
Philipp Oppermann
130163276c
Merge pull request #79 from dora-rs/com-layer
Move communication layer implementation into separate library
3 years ago
Philipp Oppermann
7e9c3050f9
Use `tracing` for logging state of nodes, coordinator, and runtimes
3 years ago
Philipp Oppermann
e0cc48a557
Move `dora-message` crate directly under `libraries` (it's not really an extension)
3 years ago
Philipp Oppermann
0df06fce86
Send metadata in messages encoded with capnproto
Changes the message format from raw data bytes to a higher-level `Message` struct serialized with capnproto. In addition to the raw data, which is sent as a byte array as before, the `Message` struct features `metadata` field. This metadata field can be used to pass open telemetry contexts, deadlines, etc.
3 years ago
Philipp Oppermann
f473c856c1
Fix clippy warnings across whole projects
3 years ago
Philipp Oppermann
9c8cbda89d
Fix: Enable `zenoh` feature for C node API
3 years ago
Philipp Oppermann
081349a2a9
Fix: Only import communication layer structs if they're enabled
3 years ago
Philipp Oppermann
c783f8d2b8
Make `iceoryx` group name configurable instead of defaulting to 'dora'
3 years ago
Philipp Oppermann
848e136a75
Move communication layer implementation into separate library
To make it usable for other projects.
3 years ago
Philipp Oppermann
1e4dbe943b
Merge pull request #78 from dora-rs/iceoryx
Redesign communication layer to be synchronous and add support for iceoryx
3 years ago
Philipp Oppermann
60c12f4d69
Rework stop message handling to avoid 'unexpected disconnection' errors
With the previous solution, the stop channel thread sometimes panicked with 'stop stream was disconnected unexpectedly'.
3 years ago
Philipp Oppermann
074ed2db05
Document the dataflow `communication` field and explain the zenoh and iceoryx setup
3 years ago
Philipp Oppermann
3997b2d3e3
Remove some println logging in Rust node API
3 years ago
Philipp Oppermann
e508c478eb
Increase sleep duration before closing zenoh session to 2 secs
We still saw some missed stop messages on the CI with the 1sec delay.
3 years ago
Philipp Oppermann
041850ebd0
Always run the python examples on CI in pull requests
The status is required for the last commit of a PR.
3 years ago
Philipp Oppermann
32d5d346a3
Merge pull request #76 from dora-rs/safer-ffi
Rework raw operator API on top of `safer-api` crate Allows a higher-level interface
3 years ago