#protobuf #serialization #buffer

bin+lib protobuf-parse

Parse .proto files. Files are parsed into a protobuf::descriptor::FileDescriptorSet object using either: pure rust parser (no dependencies) protoc binary (more reliable and compatible with Google’s implementation)

26 releases (13 stable)

3.7.2 Mar 10, 2025
3.7.1 Oct 15, 2024
3.6.0 Sep 30, 2024
3.5.0 Jun 26, 2024
3.0.0-alpha.2 Nov 1, 2021

#435 in Encoding

Download history 97747/week @ 2024-12-05 106653/week @ 2024-12-12 48818/week @ 2024-12-19 38084/week @ 2024-12-26 68565/week @ 2025-01-02 88466/week @ 2025-01-09 83486/week @ 2025-01-16 74488/week @ 2025-01-23 95906/week @ 2025-01-30 123673/week @ 2025-02-06 106941/week @ 2025-02-13 126137/week @ 2025-02-20 133621/week @ 2025-02-27 135375/week @ 2025-03-06 136910/week @ 2025-03-13 122648/week @ 2025-03-20

549,917 downloads per month
Used in 196 crates (21 directly)

MIT license

1.5MB
38K SLoC

C 26K SLoC // 0.1% comments Rust 12K SLoC // 0.1% comments Bitbake 793 SLoC // 0.2% comments Bazel 57 SLoC // 0.1% comments

Parse .proto files

Parse .proto file definitions, not the protobuf text format serialization.

Files can be parsed using pure Rust parser (mod pure) or using the protoc command (mod protoc).

This crate is not meant to be used directly, but rather through the protobuf-codegen crate. If you think this crate might be useful to you, please consider creating an issue, until that this crate is considered to have no stable API.


lib.rs:

Parse .proto files

Parse .proto file definitions, not the protobuf text format serialization.

Files can be parsed using pure Rust parser (mod pure) or using the protoc command (mod protoc).

This crate is not meant to be used directly, but rather through the protobuf-codegen crate. If you think this crate might be useful to you, please consider creating an issue, until that this crate is considered to have no stable API.

Dependencies

~3–13MB
~174K SLoC