• Stars
    star
    2,774
  • Rank 16,415 (Top 0.4 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 11 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rust implementation of Google protocol buffers

rust-protobuf

crates.io version docs.rs GitHub Workflow Status License

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

More Repositories

1

grpc-rust

Rust implementation of gRPC
Rust
1,376
star
2

rust-http2

HTTP/2 implementation in Rust/tokio
Rust
207
star
3

rust-tls-api

TLS API for Rust, and API implementations over native-tls and openssl in separate crates
Rust
50
star
4

absh

Benchmarking with proper statistically significant output
Rust
10
star
5

learn-idris-pub

Public data for https://learn-idris.net/
Idris
9
star
6

rust-protoc-bin-vendored

Rust
9
star
7

no-mutex-c

C
9
star
8

netty-td

Java
8
star
9

protobuf-to-json

Java
7
star
10

blog

My blog (kind of)
5
star
11

mh-lang

DSL for constructing MethodHandles
Java
5
star
12

no-mutex

Π”Π΅ΠΌΠΎ для ΡΡ‚Π°Ρ‚ΡŒΠΈ "Concurrency without mutexes"
Java
5
star
13

rust-log-ndc

log crate extension with NDC-like functionality
Rust
5
star
14

rust-ide-rust

Patches for rust-ide
Rust
3
star
15

idris-sort

Idris
3
star
16

update-version

Update multiple crate versions (do not use)
Rust
2
star
17

rust-test-cert-gen

Utility to generate certificates for tests (for TLS)
Rust
2
star
18

junk

1
star
19

httpd-test-task

C++
1
star
20

ignore-cached

Bug repro
Rust
1
star
21

rust-unused-not-removed

Repro
Rust
1
star
22

cargo-should-not-delete-bin

Rust
1
star
23

cargo-build-rs-twice

Rust
1
star
24

clay-json

json implementation for clay
1
star
25

perftest-rust

Rust
1
star
26

repr-1

Rust
1
star
27

textarea-autosize-blink

TypeScript
1
star
28

cargo-bug-tmp-1

Rust
1
star
29

clay-curl

curl binding for clay
Shell
1
star
30

rust-hashmap-like-cpp

Rust
1
star
31

random-pg

Rust
1
star
32

fsevent-dump

Rust
1
star
33

gh-actions-gen

Generate GitHub actions
Rust
1
star
34

exact-versions

Rust
1
star
35

around-zero

Rust
1
star
36

rust-cannot-infer-type

Rust
1
star
37

h2-hang

Rust
1
star
38

ordinal-map

Map types to integers
Rust
1
star