All Projects → eddelbuettel → rcppmsgpack

eddelbuettel / rcppmsgpack

Licence: other
MsgPack Headers for R / msgpack.org[R]

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
r
7636 projects

Projects that are alternatives of or similar to rcppmsgpack

RcppEigen
Rcpp integration for the Eigen templated linear algebra library
Stars: ✭ 89 (+423.53%)
Mutual labels:  cran, r-package
vosonSML
R package for collecting social media data and creating networks for analysis.
Stars: ✭ 65 (+282.35%)
Mutual labels:  cran, r-package
healthyR
Hospital Data Analysis Workflow Tools
Stars: ✭ 21 (+23.53%)
Mutual labels:  cran, r-package
qwraps2
An updated version of qwraps with a focus on flexibility and general purpose. These functions are helpful for extracting and formatting results from R into .Rnw or .Rmd files. Additional functions for routine work such as extracting results from regression models or finding sensitivity and specificity.
Stars: ✭ 33 (+94.12%)
Mutual labels:  cran, r-package
ctrdata
Aggregate and analyse information on clinical trials from public registers
Stars: ✭ 26 (+52.94%)
Mutual labels:  cran, r-package
packagefinder
Comfortable search for R packages on CRAN, either directly from the R console or with an R Studio add-in
Stars: ✭ 43 (+152.94%)
Mutual labels:  cran, r-package
eia
An R package wrapping the US Energy Information Administration open data API.
Stars: ✭ 38 (+123.53%)
Mutual labels:  cran, r-package
Littler
A scripting and command-line front-end for GNU R
Stars: ✭ 238 (+1300%)
Mutual labels:  cran, r-package
globals
🌐 R package: Identify Global Objects in R Expressions
Stars: ✭ 27 (+58.82%)
Mutual labels:  cran, r-package
thinkr
Some tools for cleaning up messy 'Excel' files to be suitable for R
Stars: ✭ 21 (+23.53%)
Mutual labels:  cran, r-package
msgpack-perl
MessagePack serializer implementation for Perl / msgpack.org[Perl]
Stars: ✭ 48 (+182.35%)
Mutual labels:  msgpack, messagepack
apsimx
R package for APSIM-X
Stars: ✭ 30 (+76.47%)
Mutual labels:  cran, r-package
rcppsimdjson
Rcpp Bindings for the 'simdjson' Header Library
Stars: ✭ 103 (+505.88%)
Mutual labels:  cran, r-package
oem
Penalized least squares estimation using the Orthogonalizing EM (OEM) algorithm
Stars: ✭ 22 (+29.41%)
Mutual labels:  cran, r-package
rdomains
Classifying the content of domains
Stars: ✭ 47 (+176.47%)
Mutual labels:  cran, r-package
rcppcnpy
Rcpp bindings for NumPy files
Stars: ✭ 24 (+41.18%)
Mutual labels:  cran, r-package
Pacman
A package management tools for R
Stars: ✭ 220 (+1194.12%)
Mutual labels:  cran, r-package
Tint
Tint is not Tufte
Stars: ✭ 226 (+1229.41%)
Mutual labels:  cran, r-package
rcpptoml
Rcpp Bindings to C++ parser for TOML files
Stars: ✭ 26 (+52.94%)
Mutual labels:  cran, r-package
rcppfastfloat
Rcpp Bindings for the 'fastfloat' Header-Only Library
Stars: ✭ 18 (+5.88%)
Mutual labels:  cran, r-package

RcppMsgPack: MsgPack Headers for R and interface functions

CI License CRAN Dependencies Downloads Last Commit RJournal

About

This package provides R with both the MessagePack (or MsgPack as a shorthand) header files, and the ability to access, create and alter MessagePack objects directly from R.

MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it is faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. MessagePack is used by Redis and many other projects.

The R Journal paper describes both the RcppMsgPack package and MessagePack.

Usage

C++ headers

To use the headers from this package, simply add it to the LinkingTo: field in the DESCRIPTION field of your R package---and the R package infrastructure tools will then know how to set include flags correctly on all architectures supported by R.

Interface functions

The functions msgpack_pack and msgpack_unpack allow you to serialize and de-serialize R objects respectively. msgpack_format is a helper function to properly format R objects for input. msgpack_simplify is a helper function to simplify output from MsgPack conversion.

MsgPack EXT types are converted to raw vectors with EXT attributes containing the extension type. The extension type must be an integer from 0 to 127. MsgPack Timestamps are an EXT with type -1. Timestamps can be encoded and decoded from POSIXct objects in R to MsgPack format with msgpack_timestamp_encode and msgpack_timestamp_decode.

Msgpack Maps are converted to data.frames with additional class "map". Map objects in R contain key and value list columns and can be simplified to named lists or named vectors. The helper function msgpack_map creates map objects that can be serialized into msgpack.

flowchart A flowchart describing the conversion of R objects into msgpack objects and back.

For more information on msgpack types, see here.

Example:

x <- as.list(1:1e6)
x_packed <- msgpack_pack(x)
x_unpacked <- msgpack_unpack(x_packed)

Installation

The package is on CRAN and can be installed via a standard

install.packages("RcppMsgPack")

Pre-releases have been available via the ghrr drat repository:

drat::addRepo("ghrr")
install.packages("RcppMsgPack")

Status

The package currently includes the MessagePack headers version 2.1.5.

See Also

See the BH package for related (and also header-only) libraries from Boost, and the RcppRedis package for simple yet performant Redis support.

Bug Reports

The issue tracker can be used for bug reports or feature requests.

Author

Dirk Eddelbuettel and Travers Ching.

Acknowledgements

Special thanks to Xun Zhu.

License

The R package is provided under the GPL (version 2 or later). The included MsgPack library is released under the same license as Boost, the BSL-1.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].