Jeroen Ooms

Jeroen Ooms

44 packages on CRAN

3 packages on GitHub

jsonlite

cran
96th

Percentile

A fast JSON parser and generator optimized for statistical data and the web. Started out as a fork of 'RJSONIO', but has been completely rewritten in recent versions. The package offers flexible, robust, high performance tools for working with JSON in R and is particularly powerful for building pipelines and interacting with a web API. The implementation is based on the mapping described in the vignette (Ooms, 2014). In addition to converting JSON data from/to R objects, 'jsonlite' contains functions to stream, validate, and prettify JSON data. The unit tests included with the package verify that all edge cases are encoded and decoded consistently for use with dynamic data in systems and applications.

curl

cran
96th

Percentile

The curl() and curl_download() functions provide highly configurable drop-in replacements for base url() and download.file() with better performance, support for encryption (https, ftps), gzip compression, authentication, and other 'libcurl' goodies. The core of the package implements a framework for performing fully customized requests where data can be processed either in memory, on disk, or streaming via the callback or connection interfaces. Some knowledge of 'libcurl' is recommended; for a more-user-friendly web client see the 'httr' package which builds on this package with http specific tools and logic.

openssl

cran
96th

Percentile

Bindings to OpenSSL libssl and libcrypto, plus custom SSH pubkey parsers. Supports RSA, DSA and EC curves P-256, P-384 and P-521. Cryptographic signatures can either be created and verified manually or via x509 certificates. AES can be used in cbc, ctr or gcm mode for symmetric encryption; RSA for asymmetric (public key) encryption or EC for Diffie Hellman. High-level envelope functions combine RSA and AES for encrypting arbitrary sized data. Other utilities include key generators, hash functions (md5, sha1, sha256, etc), base64 encoder, a secure random number generator, and 'bignum' math methods for manually performing crypto calculations on large multibyte integers.

base64

cran
93th

Percentile

Compatibility wrapper to replace the orphaned package by Romain Francois. New applications should use the 'openssl' or 'base64enc' package instead.

RMySQL

cran
84th

Percentile

Implements 'DBI' Interface to 'MySQL' and 'MariaDB' Databases.

hunspell

cran
49th

Percentile

A spell checker and morphological analyzer library designed for languages with rich morphology and complex word compounding or character encoding. The package can check and analyze individual words as well as search for incorrect words within a text, latex, html or xml document. Use the 'devtools' package to spell check R documentation with 'hunspell'.

V8

cran
37th

Percentile

An R interface to Google's open source JavaScript engine. V8 is written in C++ and implements ECMAScript as specified in ECMA-262, 5th edition. In addition, this package implements typed arrays as specified in ECMA 6 used for high-performance computing and libraries compiled with 'emscripten'.

pdftools

cran
17th

Percentile

Utilities based on libpoppler for extracting text, fonts, attachments and metadata from a pdf file. Also implements rendering of PDF to bitmaps on supported platforms.

mongolite

cran
16th

Percentile

High-performance MongoDB client based on 'libmongoc' and 'jsonlite'. Includes support for aggregation, indexing, map-reduce, streaming, SSL encryption and SASL authentication. The vignette gives a brief overview of the available methods in the package.

rsvg

cran
11th

Percentile

Renders vector-based svg images into high-quality custom-size bitmap arrays using 'librsvg2'. The resulting bitmap can be written to e.g. png, jpeg or webp format. In addition, the package can convert images directly to various formats such as pdf or postscript.

webp

cran
10th

Percentile

Lossless webp images are 26% smaller in size compared to PNG. Lossy webp images are 25-34% smaller in size compared to JPEG. This package reads and writes webp images into a 3 (rgb) or 4 (rgba) channel bitmap array using conventions from the 'jpeg' and 'png' packages.

magick

cran
9th

Percentile

Bindings to ImageMagick: the most comprehensive open-source image processing library available. Supports many common formats (png, jpeg, tiff, pdf, etc) and manipulations (rotate, scale, crop, trim, flip, blur, etc). All operations are vectorized via the Magick++ STL meaning they operate either on a single frame or a series of frames for working with layers, collages, or animation. In RStudio images are automatically previewed when printed to the console, resulting in an interactive editing environment.

graphql

cran
9th

Percentile

Bindings to the 'libgraphqlparser' C++ library. Currently parses GraphQL and exports the AST in JSON format.

tesseract

cran
9th

Percentile

An OCR engine with unicode (UTF-8) support that can recognize over 100 languages out of the box.

commonmark

cran
9th

Percentile

The CommonMark specification defines a rationalized version of markdown syntax. This package uses the 'cmark' reference implementation for converting markdown text into various formats including html, latex and groff man. In addition it exposes the markdown parse tree in xml format. The latest version of this package also adds support for Github extensions including tables, autolinks and strikethrough text.

protolite

cran
8th

Percentile

Optimized C++ implementations for reading and writing protocol-buffers. Currently supports 'rexp.proto' for serializing R objects and 'geobuf.proto' for geojson data. This lightweight package is complementary to the much larger 'RProtoBuf' package which provides a full featured toolkit for working with protocol-buffers in R.

opencpu

cran
6th

Percentile

The OpenCPU system exposes an http API for embedded scientific computing with R. The server can run either as a single-user development server within the interactive R session, or as a multi-user linux stack based on rApache and NGINX. The current R package implements the core of the system. When loaded in R, it automatically initiates the single-user server and displays the web address in the console. The OpenCPU website has more detailed API documentation.

jose

cran
5th

Percentile

A collection of specifications to securely transfer claims such as authorization information between parties. A JSON Web Token (JWT) contains claims used by systems to apply access control rules to its resources. One potential use case of the JWT is authentication and authorization for a system that exposes resources through OAuth 2.0.

RAppArmor

cran
3th

Percentile

Bindings to various methods in the kernel for enforcing security restrictions. AppArmor can apply mandatory access control (MAC) policies on a given task (process) via security profiles with detailed ACL definitions. In addition the package has kernel bindings for setting the process hardware resource limits (rlimit), uid, gid, affinity and priority. The high level R function 'eval.secure' builds on these methods to do dynamic sandboxing: it evaluates a single R expression within a temporary fork which acts as a sandbox by enforcing fine grained restrictions without affecting the main R process. Recent versions on this package can also be installed on systems without libapparmor, in which case some features are automatically disabled.

jsonld

cran
3th

Percentile

JSON-LD is a light-weight syntax for expressing linked data. It is primarily intended for web-based programming environments, interoperable web services and for storing linked data in JSON-based databases. This package provides bindings to the JavaScript library for converting, expanding and compacting JSON-LD documents.

webutils

cran
2th

Percentile

Utility functions for developing web applications. Includes parsers for application/x-www-form-urlencoded as well as multipart/form-data and examples of using the parser with either httpuv or rhttpd.

bcrypt

cran
2th

Percentile

An R interface to the OpenBSD 'blowfish' password hashing algorithm, as described in "A Future-Adaptable Password Scheme" by Niels Provos. The implementation is derived from the 'py-bcrypt' module for Python which is a wrapper for the OpenBSD implementation.

sodium

cran
2th

Percentile

Bindings to libsodium: a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. Sodium uses curve25519, a state-of-the-art Diffie-Hellman function by Daniel Bernstein, which has become very popular after it was discovered that the NSA had backdoored Dual EC DRBG.

js

cran
2th

Percentile

A set of utility functions for working with JavaScript in R. Currently includes functions to compile, validate, reformat, optimize and analyze JavaScript code.

brotli

cran
2th

Percentile

A lossless compressed data format that uses a combination of the LZ77 algorithm and Huffman coding. Brotli is similar in speed to deflate (gzip) but offers more dense compression.

Mobilize

cran
1th

Percentile

Some canned plots and functions designed for the mobilize project. Designed to be called remotely.

gpg

cran

Bindings to GnuPG for working with OpenGPG (RFC4880) cryptographic methods. Includes utilities for public key encryption, creating and verifying digital signatures, and managing your local keyring. Note that some functionality depends on the version of GnuPG that is installed on the system. On Windows this package can be used together with 'GPG4Win' which provides a GUI for managing keys and entering passphrases.

Ohmage

cran

R Client for Ohmage 2 server. Implements basic R functions to retrieve and process data.

minimist

cran

A binding to the minimist JavaScript library. This module implements the guts of optimist's argument parser without all the fanciful decoration.

rjade

cran

Jade is a high performance template engine heavily influenced by Haml and implemented with JavaScript for node and browsers.

xslt

cran

An extension for the 'xml2' package to transform XML documents by applying an XSL stylesheet.

datapkg

github

Convenience functions for reading and writing datasets following the 'data packagist' format.

Some R code for the OpenCPU framework.

sys

cran

Powerful replacements for base system2 with consistent behavior across platforms. Supports interruption, background tasks, and full control over STDOUT / STDERR binary or text streams.

rdat

github

Programmatic interface to the Dat system for data versioning and replication.

xml2

cran
94th

Percentile

Work with XML files using a simple, consistent interface. Built on top of the 'libxml2' C library.

covr

cran
85th

Percentile

Track and report code coverage for your package and (optionally) upload the results to a coverage service like 'Codecov' (http://codecov.io) or 'Coveralls' (http://coveralls.io). Code coverage is a measure of the amount of code being exercised by a set of tests. It is an indirect measure of test quality and completeness. This package is compatible with any testing methodology or framework and tracks coverage of both R code and compiled C/C++/FORTRAN code.

gdtools

cran
77th

Percentile

Useful tools for writing vector graphics devices.

rversions

cran
69th

Percentile

Query the main 'R' 'SVN' repository to find the versions 'r-release' and 'r-oldrel' refer to, and also all previous 'R' versions and their release dates.

sf

cran
8th

Percentile

Support for simple features, a standardized way to encode spatial data, with bindings to GDAL, GEOS and Proj.4.

rzmq

cran
8th

Percentile

Interface to the 'ZeroMQ' lightweight messaging kernel (see <http://www.zeromq.org/> for more information).

redland

cran
6th

Percentile

Provides methods to parse, query and serialize information stored in the Resource Description Framework (RDF). RDF is described at <http://www.w3.org/TR/rdf-primer>. This package supports RDF by implementing an R interface to the Redland RDF C library, described at <http://librdf.org/docs/api/index.html>. In brief, RDF provides a structured graph consisting of Statements composed of Subject, Predicate, and Object Nodes.

RProtoBuf

cran
5th

Percentile

Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal 'RPC' protocols and file formats. Additional documentation is available in two included vignettes one of which corresponds to our paper in the Journal of Statistical Software (2016, v71i02). Either version 2 or 3 of the 'Protocol Buffers' 'API' is supported.

geojson

cran
5th

Percentile

Classes for 'GeoJSON' to make working with 'GeoJSON' easier.

jqr

cran
4th

Percentile

Client for 'jq', a JSON processor (<http://stedolan.github.io/jq/>), written in C. 'jq' allows the following with JSON data: index into, parse, do calculations, cut up and filter, change key names and values, perform conditionals and comparisons, and more.

x.ent

cran
3th

Percentile

Provides a tool for extracting information (entities and relations between them) in text datasets. It also emphasizes the results exploration with graphical displays. It is a rule-based system and works with hand-made dictionaries and local grammars defined by users. 'x.ent' uses parsing with Perl functions and JavaScript to define user preferences through a browser and R to display and support analysis of the results extracted. Local grammars are defined and compiled with the tool Unitex, a tool developed by University Paris Est that supports multiple languages. See ?xconfig for an introduction.

RPublica

cran

Client for accessing data journalism APIs from ProPublica <http://www.propublica.org/>.