8 releases
0.2.0 | Mar 15, 2024 |
---|---|
0.1.4 | Oct 4, 2023 |
0.1.3 | Sep 21, 2023 |
0.0.3 | Sep 14, 2023 |
0.0.2 | Aug 9, 2023 |
#2435 in Encoding
Used in 6 crates
(5 directly)
41KB
1K
SLoC
Protokit
Implementation of protocol buffers for rust.
Why not prost/pb-j/rust-protobuf?
Started with my need for proper textformat support.
any_value {
[type.googleapis.com/com.example.SomeType] {
field1: "hello"
}
}
After I investigated other crates, I found out that they had other issues ( required boxing in rust-protobuf, messy codegen in prost).
Features
- Binary(100% conformance) + Text(90% conformance) format support
- No message boxing required
- GRPC (usable with tonic)
- Nice derive macro for creating message implementations without proto compiler:
#[derive(Default, Debug, Clone, BinProto)]
pub struct FieldPath {
#[field(1, varint, packed)]
pub fields: Vec<u32>,
}
#[derive(Default, Debug, Clone, BinProto)]
pub struct FieldMask {
#[field(1, nested, repeated)]
pub paths: Vec<FieldPath>,
}
Dependencies
~1.5–2.3MB
~41K SLoC