#varint #protobuf


A Rust implementation of the varint codec as used in Google’s Protocol Buffers

4 releases

Uses old Rust 2015

0.1.3 Apr 29, 2018
0.1.2 Nov 5, 2016
0.1.1 Nov 3, 2016
0.1.0 Nov 1, 2016

#666 in Network programming

Download history 44/week @ 2021-04-02 55/week @ 2021-04-09 39/week @ 2021-04-16 16/week @ 2021-04-23 11/week @ 2021-04-30 4/week @ 2021-05-07 10/week @ 2021-05-14 21/week @ 2021-05-21 34/week @ 2021-05-28 23/week @ 2021-06-04 80/week @ 2021-06-11 21/week @ 2021-06-18 29/week @ 2021-06-25 41/week @ 2021-07-02 49/week @ 2021-07-09 22/week @ 2021-07-16

146 downloads per month
Used in 3 crates


303 lines

varmint travis-badge cargo-badge license-badge

A Rust implementation of the varint codec as used in Google's Protocol Buffers. Adds read_*/write_* methods for various sizes of varints on top of the standard IO traits.


This project uses clippy and denies warnings in CI builds. To ensure your changes will be accepted please check them with cargo clippy (available via cargo install clippy on nightly rust) before submitting a pull request (along with cargo test as usual).

Both the nightly date and clippy version used in CI are pinned in the .travis.yml as clippy sometimes breaks for a few days after a new nightly is published, feel free to update to a new known good pair anytime as part of a pull request.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

No runtime deps