Learn R Programming

RProtoBuf: 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.

Installation

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

install.packages("RProtoBuf")

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.

Documentation

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

Authors

Romain Francois, Dirk Eddelbuettel, Murray Stokely and Jeroen Ooms

License

GPL (>= 2)

Copy Link

Version

Install

install.packages('RProtoBuf')

Monthly Downloads

1,116

Version

0.4.23

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Dirk Eddelbuettel

Last Published

January 14th, 2025

Functions in RProtoBuf (0.4.23)

FileDescriptor-class

Class "FileDescriptor"
Descriptor-class

Class "Descriptor"
FileInputStream-class

Class "FileInputStream"
Skip-methods

Skips a number of bytes
SetCloseOnDelete-methods

set the close on delete behavior
clear-methods

Clear a field or all fields of the message and set them to their default values
EnumDescriptor-class

Class "EnumDescriptor"
merge-methods

Merge two messages of the same type
bytesize-methods

The number of bytes taken by a message
as.list.Message

Grab the protocol buffer message as an R list
ZeroCopyInputStream-class

Virtual Class "ZeroCopyInputStream"
ZeroCopyOutputStream-class

Virtual Class "ZeroCopyOutputStream"
RProtoBuf-package

R Interface to the Protocol Buffers API
label-methods

Gets the label of a field
field_count-methods

The number of fields
ServiceDescriptor-class

Class "ServiceDescriptor"
FileInputStream-methods

Creates an FileInputStream
field-methods

Extract a field descriptor
Message-class

Class "Message"
P

Protocol Buffer descriptor importer
Next-methods

Obtains a chunk of data from the stream
FileOutputStream-class

Class "FileOutputStream"
add-methods

add elements of a repeated field of a message
asMessage

coerce an object to a protobuf message
clone-methods

Clone protocol buffer messages
read-methods

Read a protocol buffer message from a connection
isInitialized-methods

Indicates if a protocol buffer message is initialized
completion

Completion support for protocol buffer messages and descriptors
enum_type_count-methods

The number of enum types
size-methods

Size of a message field
readASCII-methods

read a message in ASCII format
is_extension-methods

Indicates if a field descriptor is an extension
containing_type-methods

Gets the message type descriptor that contains a descriptor
sizegets

Set the size of a field
descriptor-methods

Get the descriptor of a message
MethodDescriptor-class

Class "MethodDescriptor"
nested_type_count-methods

The number of fields
number-methods

Gets the declared tag number of a field
fetch-methods

Fetch content of a repeated field
readJSON-methods

read a message in JSON format
enum_type-methods

Extract an enum type descriptor for a nested type
name

Name or full name of a descriptor
readProtoFiles

protocol buffer descriptor importer
nested_type-methods

Extract a message type descriptor for a nested type
swap-methods

swap elements of a repeated field of a message
fileDescriptor-methods

gets the file descriptor of an object
has-methods

Indicates if an object has the given field set
with.Message

with and within methods for protocol buffer messages
type-methods

Gets the type or the C++ type of a field
serialize_pb

Serialize R object to Protocol Buffer Message.
set-methods

set a subset of values of a repeated field of a message
ConnectionInputStream-class

Class "ConnectionInputStream"
ConnectionInputStream-methods

Creates an ConnectionInputStream
ConnectionOutputStream-methods

Creates an ConnectionOutputStream
ArrayInputStream-class

Class "ArrayInputStream"
ArrayInputStream-methods

Creates an ArrayInputStream
ConnectionOutputStream-class

Class "ConnectionOutputStream"
EnumValueDescriptor-class

Class "EnumValueDescriptor"
BackUp-methods

Backs up a number of bytes from a stream
ArrayOutputStream-class

Class "ArrayOutputStream"
ByteCount-methods

The number of bytes read/written since the object was created
FieldDescriptor-class

Class "FieldDescriptor"
GetErrno-methods

Get the error number for an I/O error
ArrayOutputStream-methods

Creates an ArrayOutputStream
FileOutputStream-methods

Creates an FileOutputStream