Michael-J-Ward
25884b658a
update pyo3 to new bounds api
1 year ago
Michael-J-Ward
cd8ed19620
deps: upgrade pyo3 and arrow deps
Arrow needs to be upgraded alongside pyo3 because they both link to python.
NOTE: Arrow marked `ffi::from_ffi` unsafe.
https://github.com/apache/arrow-rs/pull/5080
1 year ago
Michael-J-Ward
7cb43ca3cf
warn: allow clippy::missing_safety_doc
1 year ago
Philipp Oppermann
e8b87f0338
Merge branch 'main' into c++-ros2-bridge
1 year ago
Philipp Oppermann
2eeb40b1ff
Fix operator API: Box optional error string since `Option<String>` is not FFI-safe
1 year ago
haixuanTao
afae2bdece
Bump to version 0.3.1
2 years ago
haixuanTao
4978f800a6
Fix clippy and rust warnings
2 years ago
Philipp Oppermann
8cc5837cfa
Update `arrow` and `pyo3` dependencies to latest versions
2 years ago
Philipp Oppermann
4acc3c6fd9
Fix name collision
2 years ago
Philipp Oppermann
94c0da61de
Provide higher-level function to send output from C operator
2 years ago
Philipp Oppermann
36a1f7781e
Provide accessor functions for input ID and data in C operator API
2 years ago
Philipp Oppermann
9a10280595
Simplify reading of primitive and string types from arrow arrays
- introduce a new `ArrayData` wrapper struct
- implement `TryFrom` to convert to primitive types and strings
- update examples to use the new conversion functions
2 years ago
Philipp Oppermann
89f980e753
Simplify arrow array construction through new `IntoArrow` trait
2 years ago
Philipp Oppermann
afae3b72ce
Merge branch 'main' into rust-typed-input
2 years ago
Philipp Oppermann
d3f9166c36
Make `safer-ffi` use `inventory v0.3`
2 years ago
Philipp Oppermann
6154415cbc
Update Rust APIs and rust-dataflow-example to use arrow types
2 years ago
haixuanTao
d55df9a326
Adding documentation for the send method
This PR/commit adds documentation for the send_output method.
Follow up discussion: https://github.com/orgs/dora-rs/discussions/317#discussioncomment-6475816
2 years ago
Philipp Oppermann
0ce219630c
Remove deprecated `proc_macros` feature from `safer-ffi` dependency
The `proc-macro` feature is now a built-in.
2 years ago
haixuanTao
f9d8fac8e5
Adding Rust docstring documentation
2 years ago
Philipp Oppermann
ef37caa3ed
Add arrow support for Python operator inputs
Reuse same event type as for Python node API.
2 years ago
haixuanTao
c4794725aa
Fix API description to use workspace
test new release for github CI/CD
2 years ago
haixuanTao
7a7a20a298
Add missing licenses and centralise license definition
test new crates version release
2 years ago
haixuanTao
101ddd2092
add documentation and description to all crates
test rc 2 version
fix version typo
Test crates.io new dora tag release
2 years ago
haixuanTao
f5b65d6de7
Remove unused dependencies to simplify publishing
Remove unused dependencies
2 years ago
haixuanTao
38e02df62c
Update rust api to publish it to crates.io
2 years ago
Philipp Oppermann
915947d21b
Update to `safer-ffi` `v0.1.0-rc1`
2 years ago
haixuanTao
f1cf0864a4
Remove static path from workspace dependency
Removing those path make it easier to move package, reduce path management
reduce complexity and make it easier to export crates to `crates.io`
2 years ago
Philipp Oppermann
7232a31b57
Send `InputClosed` events to operators too
2 years ago
Philipp Oppermann
1213d70efb
Mark operator `Event` type as `non_exhaustive`
2 years ago
Philipp Oppermann
cdc0be1206
Rename `FfiEvent` to `RawEvent`
2 years ago
Philipp Oppermann
62319f1ec1
Add support for Rust operators again
2 years ago
Philipp Oppermann
d8260d5d2c
Inherit package version from workspace root
This way, we don't need to update the version manually in all sub-crates on every release.
3 years ago
haixuanTao
9a0b303e98
Replace all versions to `v0.1.1`
3 years ago
Philipp Oppermann
5375628930
Allow operators to stop the full dataflow
Useful in case of emergencies.
3 years ago
Philipp Oppermann
f473c856c1
Fix clippy warnings across whole projects
3 years ago
Philipp Oppermann
c54209ff98
Pass `SendOutput` by reference
3 years ago
Philipp Oppermann
933affaf16
Rename type
3 years ago
Philipp Oppermann
a2fd5b0ebd
Autogenerate the `operator_api.h` header file
3 years ago
Philipp Oppermann
dcd3f8f18d
Rework raw operator API to support the `#[ffi_export]` attribute of `safer-ffi`
Requires removing the lifetime of the `SendOutput` type. We now use a `'static` Arc-owned closure instead.
To make sure that all types show up in the C header files that we'll generate, we make sure that all the top-level types use `#[repr(C)]` instead of `#[repr(transparent)]`.
3 years ago
Philipp Oppermann
1bf0be0140
Switch back to upstream version of `safer-ffi`
3 years ago
Philipp Oppermann
b0cf6fa4f5
Rework raw operator API on top of `safer-api` crate
Allows a higher-level interface
3 years ago
Philipp Oppermann
8e21a990d0
Create a Rust dataflow example
The example shows how to use the dora node and operator APIs.
3 years ago
Philipp Oppermann
825e9a8d7b
Allow operators to stop themselves through a special return value
Useful for source operators that take timers as inputs. Without an explicit stop instructions, they would always run forever.
3 years ago
haixuanTao
28a902d83a
Moving folders in correspondance with #41
Simply moving crate to mirror our discussion without touching at names
3 years ago