C++ R C M4 Python Shell Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
R Add PACKAGE argument to .Call for resetDescriptorPool May 21, 2018
demo more unit tests Aug 12, 2010
inst more robust C++ setup in configure Jul 25, 2018
man Merge branch 'master' into unit May 21, 2018
src properly reference std::vector (thanks, Brian Ripley) Jul 8, 2018
tests Add check to ensure there are no errors, in addition to no failures, Apr 2, 2014
tools Windows: update to protobuf v3.5.1 Jun 25, 2018
vignettes new minor version, updated ChangeLog and NEWS and small cleanups May 20, 2018
.Rbuildignore release 0.4.12 Jul 11, 2018
.Rinstignore reverting old revision 422 (aka release 0.2.3) as pkg/ -- now that th… May 14, 2012
.gitignore added RStudio .proj file plus .gitignore changes Aug 24, 2015
.travis.yml also install r-cran-pinp Oct 1, 2017
CONTRIBUTING.md correct two typos, expanded one sentence Apr 26, 2016
ChangeLog more robust C++ setup in configure Jul 25, 2018
DESCRIPTION release 0.4.12 Jul 11, 2018
NAMESPACE Export a function to reset the descriptor pool May 21, 2018
README A very basic first proof of concept package reading a binary protobuf… Oct 22, 2009
README.md release 0.4.11 Oct 3, 2017
TODO Update to reflect changes today. Dec 30, 2013
cleanup Rmd vignette update and minor version Oct 1, 2017
configure more robust C++ setup in configure Jul 25, 2018
configure.ac more robust C++ setup in configure Jul 25, 2018
configure.win changes for CRAN win builder Jan 12, 2014
rprotobuf.Rproj added RStudio .proj file plus .gitignore changes Aug 24, 2015


RProtoBuf Build Status License CRAN Downloads

R Interface to Google Protocol Buffers

What are Protocol Buffers?

A serialization format developed by Google and used widely within Google, and by numerous other projects. Quoting from the official website:

Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages.

Protocol Buffers natively support C++, C#, Go, Java and Python. Many other languages are supported via contributed extensions. This package adds support for R.


You can either install from source via this repo, or install the CRAN package the usual way from R via


but do make sure you have the system requirements covered when building from source.

Under Debian/Ubuntu you may need

sudo apt-get install protobuf-compiler libprotobuf-dev libprotoc-dev 

with similar commands on other operating systems or distributions.


The package contains two pdf vignettes; the second one corresponds to our JSS paper.


Romain Francois, Dirk Eddelbuettel, Murray Stokely and Jeroen Ooms


GPL (>= 2)