  Modern data collection and analysis pipelines often involve a sophisticated
mix of applications written in general purpose and specialized programming
languages. Many formats commonly used to import and export data between
different programs or systems, such as CSV or JSON, are verbose, inefficient,
not type-safe, or tied to a specific programming language. Protocol Buffers are
a popular method of serializing structured data between applications - while
remaining independent of programming languages or operating systems. They offer
a unique combination of features, performance, and maturity that seems
particularly well suited for data-driven applications and numerical computing.
The RProtoBuf package provides a complete interface to Protocol Buffers from
the R environment for statistical computing. This paper outlines the general
class of data serialization requirements for statistical computing, describes
the implementation of the RProtoBuf package, and illustrates its use with
example applications in large-scale data collection pipelines and web services.
