Rust implementation of Google protocol buffers
rust-protobuf
[![crates.io version][crates-io-shields]][crates-io] [![docs.rs][docs-rs-shields]][docs-rs] [![GitHub Workflow Status][actions-shields]][actions] [![License][license-shields]][license]
[crates-io]: https://crates.io/crates/protobuf [crates-io-shields]: https://img.shields.io/crates/v/protobuf.svg [docs-rs]: https://docs.rs/protobuf [docs-rs-shields]: https://img.shields.io/badge/docs.rs-rustdoc-green.svg [actions]: https://github.com/stepancheg/rust-protobuf/actions?query=workflow%3ACI [actions-shields]: https://img.shields.io/github/workflow/status/stepancheg/rust-protobuf/CI [license]: https://github.com/stepancheg/rust-protobuf/blob/master/LICENSE.txt [license-shields]: https://img.shields.io/crates/l/protobuf.svg
End of life
This implementation is approaching end of life. Official protobuf implementation (not based on this implementation) is on the way, that will be released as protobuf=4 soon. Follow progress in protobuf repository.
Original readme
Protobuf implementation in Rust.
- Written in pure rust
- Generates rust code
- Has runtime library support for generated code
- Supports both Protobuf versions 2 and 3
- and more
Where is documentation
Documentation is hosted on docs.rs.
Versions and branches
Version 3
Version 3 is current stable version. Compared to version 2 it implements:
- runtime reflection
- JSON and text format parsing and printing
- dynamic messages (messages which can be created from
.protofile on the fly
Version 2
Version 2 is previous stable version. Only most critical bugfixes will be applied to 2.x version, otherwise it won't be maintained.
Help
The crate needs help:
- a new maintainer, but also
- testing
- documentation
- examples to be used as documentation
- feedback on API design
- feedback on implementation
- pull requests
Changelog
See CHANGELOG.md for a list of changes and compatility issues between versions.
Related projects
- prost โ another protobuf implementation in Rust, also has gRPC implementation
- quick-protobuf โ alternative protobuf implementation in Rust
- grpc-rs โ another gRPC implementation for Rust
- grpc-rust โ incomplete implementation of gRPC based on this library