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,466

Version

0.4.22

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Last Published

January 21st, 2024

Functions in RProtoBuf (0.4.22)

EnumDescriptor-class

Class "EnumDescriptor"
EnumValueDescriptor-class

Class "EnumValueDescriptor"
FileOutputStream-methods

Creates an FileOutputStream
Next-methods

Obtains a chunk of data from the stream
FieldDescriptor-class

Class "FieldDescriptor"
label-methods

Gets the label of a field
clear-methods

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

Indicates if a protocol buffer message is initialized
SetCloseOnDelete-methods

set the close on delete behavior
clone-methods

Clone protocol buffer messages
is_extension-methods

Indicates if a field descriptor is an extension
Skip-methods

Skips a number of bytes
RProtoBuf-package

R Interface to the Protocol Buffers API
ServiceDescriptor-class

Class "ServiceDescriptor"
merge-methods

Merge two messages of the same type
nested_type-methods

Extract a message type descriptor for a nested type
P

Protocol Buffer descriptor importer
descriptor-methods

Get the descriptor of a message
ZeroCopyOutputStream-class

Virtual Class "ZeroCopyOutputStream"
ZeroCopyInputStream-class

Virtual Class "ZeroCopyInputStream"
completion

Completion support for protocol buffer messages and descriptors
containing_type-methods

Gets the message type descriptor that contains a descriptor
enum_type-methods

Extract an enum type descriptor for a nested type
with.Message

with and within methods for protocol buffer messages
read-methods

Read a protocol buffer message from a connection
name

Name or full name of a descriptor
add-methods

add elements of a repeated field of a message
serialize_pb

Serialize R object to Protocol Buffer Message.
set-methods

set a subset of values of a repeated field of a message
fetch-methods

Fetch content of a repeated field
asMessage

coerce an object to a protobuf message
readASCII-methods

read a message in ASCII format
size-methods

Size of a message field
readProtoFiles

protocol buffer descriptor importer
has-methods

Indicates if an object has the given field set
fileDescriptor-methods

gets the file descriptor of an object
readJSON-methods

read a message in JSON format
type-methods

Gets the type or the C++ type of a field
as.list.Message

Grab the protocol buffer message as an R list
enum_type_count-methods

The number of enum types
MethodDescriptor-class

Class "MethodDescriptor"
Message-class

Class "Message"
swap-methods

swap elements of a repeated field of a message
sizegets

Set the size of a field
field_count-methods

The number of fields
nested_type_count-methods

The number of fields
field-methods

Extract a field descriptor
bytesize-methods

The number of bytes taken by a message
number-methods

Gets the declared tag number of a field
ArrayInputStream-class

Class "ArrayInputStream"
ArrayInputStream-methods

Creates an ArrayInputStream
ConnectionInputStream-methods

Creates an ConnectionInputStream
BackUp-methods

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

Creates an ArrayOutputStream
ConnectionInputStream-class

Class "ConnectionInputStream"
ByteCount-methods

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

Class "ConnectionOutputStream"
ArrayOutputStream-class

Class "ArrayOutputStream"
ConnectionOutputStream-methods

Creates an ConnectionOutputStream
FileInputStream-methods

Creates an FileInputStream
Descriptor-class

Class "Descriptor"
FileOutputStream-class

Class "FileOutputStream"
GetErrno-methods

Get the error number for an I/O error
FileInputStream-class

Class "FileInputStream"
FileDescriptor-class

Class "FileDescriptor"