Crates.io | planus |
lib.rs | planus |
version | 0.4.0 |
source | src |
created_at | 2021-12-30 16:04:24.864541 |
updated_at | 2023-06-03 12:37:07.125796 |
description | Planus is an alternative compiler for flatbuffers, an efficient cross platform serialization library. |
homepage | |
repository | https://github.com/planus-org/planus |
max_upload_size | |
id | 505398 |
size | 136,747 |
Planus is an alternative compiler for flatbuffers, an efficient cross platform serialization library.
First, install the command line utility
cargo install planus-cli
Next, write a flatbuffers file (or use an existing one). Then you can generate code using the command
planus rust -o <output_path.rs> <input_file.fbs>
For a complete example, see examples/rust.
planus view
: a TUI viewer for serialized flatbuffer filesTo use it you need to specify the .fbs
file, the root type and the binary file:
planus view test/rust/test_files/alignment.fbs Root test/rust/test_files/alignment/serialize/alignment.bin
planus format
: formatter for .fbs
files
planus check
: check validity of .fbs
files with good error messages
planus dot
: generate a DOT graph for .fbs
files
planus rust
: generate Rust bindings for .fbs
files
Currently we only support Rust, though we plan to add support for more languages in the future. Pull requests are welcome!
Before contributing or participating in discussions with the community, you should familiarize yourself with the Code of Conduct we follow in this project.
If you would like to contribute, please open an issue or pull request to discuss your idea.
For more more open-ended questions or complex decisions, feel free to open a Github Discussion or ping the developers on Discord.
We support most of the base language, though some parts have not been tested in-depth.
Things we do not currently support:
rpc_service
file_extension
, file_identifier
and root_type
required
, deprecated
, id
or force_align
.Things we will probably never support:
native_includes
namespace
per file.Our current Minimum Supported Rust Version is 1.64.0. When adding features, we will follow these guidelines:
Please file an issue! We also consider poor error messages or unintuitive behavior to be high-priority bugs.