rust-protobuf
September 21, 2025 · View on GitHub
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 (Coded{Input|Output}Stream impl)
- 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 without code generation)
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