5 releases
0.0.5 | May 29, 2024 |
---|---|
0.0.4 | May 29, 2024 |
0.0.3 | Sep 19, 2023 |
0.0.2 | Sep 14, 2023 |
0.0.1 | Sep 11, 2023 |
#432 in #serialization
316 downloads per month
2.5MB
22K
SLoC
Contains (JAR file, 2.5MB) src/internal/parser/antlr-rust.jar
rust-zserio
zserio serialization bindings for Rust.
CI Status
Quick Start
Install rust-zserio using:
cargo install rust-zserio
Generate zserio Bindings
The code generator is executed using the following command:
rust-zserio --root=<code_root_path> -o=<output_directory> <path_to_zserio_files>
This will generate the files needed to read/write zserio
-encoded binary data. The root
CLI flag is optional, and specifies a crate prefix. If the prefix is set, rust-zserio will generate a mod.rs
file. In case the code is generated without a prefix, rust-zserio assumes that the crate will be built as a library, and generates a lib.rs
instead.
Development Status
Although the project is in its early stages, it is feature-complete and should work with most zserio
applications. Successful test runs were done with sample projects, that were compared against the Python reference implementation. Nevertheless, the library does not have many users yet, and test coverage is small. If you find issues, please report them.
Open Items
- constraints are not evaluated yet.
- proper unit test / e2e test setup.
- the generated code fails the lint checks.
- clean and structured error handling and logging.
- upgrade to a non-beta ANTLR parser.
- resolve all clippy warnings.
- performance evaluation and improvements.
Disclaimer
This is my very first Rust project written in my spare time, and the code is far from perfect. I am happy to receive any suggestions and to learn on how to write better Rust code, so please feel welcome to raise a PR!
Dependencies
~6–15MB
~168K SLoC