Skip to content

Rust implementation of Google protocol buffers

License

Notifications You must be signed in to change notification settings

Joshuahoky/rust-protobuf

 
 

Repository files navigation

rust-protobuf

crates.io version docs.rs GitHub Workflow Status License

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 .proto file 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

About

Rust implementation of Google protocol buffers

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 99.4%
  • Other 0.6%