https://github.com/materializeinc/rust-protobuf-native
Rust build system integration for protobuf, Google's data interchange format.
https://github.com/materializeinc/rust-protobuf-native
Last synced: about 1 year ago
JSON representation
Rust build system integration for protobuf, Google's data interchange format.
- Host: GitHub
- URL: https://github.com/materializeinc/rust-protobuf-native
- Owner: MaterializeInc
- License: other
- Created: 2021-12-22T18:19:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-01-31T08:59:37.000Z (over 1 year ago)
- Last Synced: 2025-04-02T22:15:53.655Z (about 1 year ago)
- Language: C++
- Homepage:
- Size: 14.4 MB
- Stars: 16
- Watchers: 14
- Forks: 12
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rust-protobuf-native
This is a collection of crates that provide Rust interop for [Protocol
Buffers](https://github.com/google/protobuf), Google's data interchange format.
The following crates are available:
* [**protobuf-native**](./protobuf-native) is a high-level, safe API to
`libprotobuf`.
* [**protobuf-sys**](./protobuf-sys) provides automatically-generated Rust
bindings to `libprotobuf` via [autocxx].
* [**protobuf-src**](./protobuf-src) vendors the upstream Protobuf source code
and builds the `libprotobuf` library and `protoc` binary.
## Related projects
There are two other major Protobuf projects in the Rust ecosystem:
* [rust-protobuf] contains a `protoc` plugin for generating Rust code,
an (incomplete) pure-Rust reimplementation of `libprotobuf`, including
(incomplete) support for dynamic messages, and a Rust API for compiling
protobufs.
* [prost] contains a Rust API for compiling protobufs that uses an alternative
code generation backend that purports to generate more idiomatic Rust.
This project is meant to supplement these existing tools, not supplant them.
The hope is that prost and rust-protobuf will support optional integration
with these crates for users who want to avoid the system `protoc`.
[autocxx]: https://github.com/google/autocxx
[rust-protobuf]: https://github.com/stepancheg/rust-protobuf
[prost]: https://github.com/tokio-rs/prost