Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stepancheg/rust-protobuf
Rust implementation of Google protocol buffers
https://github.com/stepancheg/rust-protobuf
protobuf rust serialization
Last synced: 3 days ago
JSON representation
Rust implementation of Google protocol buffers
- Host: GitHub
- URL: https://github.com/stepancheg/rust-protobuf
- Owner: stepancheg
- License: mit
- Created: 2013-07-28T22:12:52.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-15T17:28:55.000Z (about 2 months ago)
- Last Synced: 2024-10-29T11:12:26.029Z (about 1 month ago)
- Topics: protobuf, rust, serialization
- Language: Rust
- Homepage:
- Size: 52.9 MB
- Stars: 2,798
- Watchers: 26
- Forks: 380
- Open Issues: 71
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG-before-3.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-rust-cn - stepancheg/rust-protobuf - ci.org/stepancheg/rust-protobuf.svg?branch=master">](https://travis-ci.org/stepancheg/rust-protobuf) (Libraries / Encoding)
- awesome-rust - stepancheg/rust-protobuf - ci.org/stepancheg/rust-protobuf.svg?branch=master">](https://travis-ci.org/stepancheg/rust-protobuf) (Libraries / Encoding)
- awesome-rust - stepancheg/rust-protobuf - ci.org/stepancheg/rust-protobuf.svg?branch=master">](https://travis-ci.org/stepancheg/rust-protobuf) (代码 / 编码)
- awesome-rust - stepancheg/rust-protobuf
- awesome-rust-cn - stepancheg/rust-protobuf
- awesome-rust-zh - stepancheg/rust-protobuf - [<img src="https://api.travis-ci.org/stepancheg/rust-protobuf.svg?branch=master">](https://travis-ci.org/stepancheg/rust-protobuf) (库 / 编码(Encoding))
- awesome-rust - stepancheg/rust-protobuf - Rust implementation of Google protocol buffers (Libraries / Encoding)
- awesome-rust - stepancheg/rust-protobuf - ci.org/stepancheg/rust-protobuf.svg?branch=master">](https://travis-ci.org/stepancheg/rust-protobuf) (库 Libraries / 加密 Encoding)
- fucking-awesome-rust - stepancheg/rust-protobuf - Rust implementation of Google protocol buffers (Libraries / Encoding)
- fucking-awesome-rust - stepancheg/rust-protobuf - Rust implementation of Google protocol buffers (Libraries / Encoding)
README
# 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[Protobuf](https://developers.google.com/protocol-buffers/docs/overview) implementation in [Rust](https://www.rust-lang.org/).
* 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](https://docs.rs/protobuf).
## 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](CHANGELOG.md) for a list of changes and compatility issues between versions.
## Related projects
* [prost](https://github.com/tokio-rs/prost) — another protobuf implementation in Rust, also has gRPC implementation
* [quick-protobuf](https://github.com/tafia/quick-protobuf) — alternative protobuf implementation in Rust
* [grpc-rs](https://github.com/pingcap/grpc-rs/) — another gRPC implementation for Rust
* [grpc-rust](https://github.com/stepancheg/grpc-rust) — incomplete implementation of gRPC based on this library