
testthat - Unit Testing for R
Software testing is important, but, in part because it is frustrating and boring, many of us avoid it. 'testthat' is a testing framework for R that is easy to learn and use, and integrates with your existing 'workflow'.
Last updated
unit-testingcpp
21.83 score 915 stars 479 dependents 77k scripts 1.2M downloads
rlang - Functions for Base Types and Core R and 'Tidyverse' Features
A toolbox for working with base types, core R features like the condition system, and core 'Tidyverse' features like tidy evaluation.
Last updated
20.65 score 541 stars 15k dependents 11k scripts 1.9M downloadshttr - Tools for Working with URLs and HTTP
Useful tools for working with HTTP organised by HTTP verbs (GET(), POST(), etc). Configuration functions make it easy to control additional request components (authenticate(), add_headers() and so on).
Last updated
apicurlhttp
20.64 score 986 stars 3.9k dependents 35k scripts 1.1M downloads
fs - Cross-Platform File System Operations Based on 'libuv'
A cross-platform interface to file system operations, built on top of the 'libuv' C library.
Last updated
filesystemlibuvcpp
20.35 score 375 stars 5.6k dependents 11k scripts 1.1M downloads
scales - Scale Functions for Visualization
Graphical scales map data to aesthetics, and provide methods for automatically determining breaks and labels for axes and legends.
Last updated
ggplot2
20.15 score 441 stars 8.4k dependents 101k scripts 1.6M downloadshere - A Simpler Way to Find Your Files
Constructs paths to your project's files. Declare the relative path of a file within your project with 'i_am()'. Use the 'here()' function as a drop-in replacement for 'file.path()', it will always locate the files relative to your project root.
Last updated
project
19.74 score 426 stars 662 dependents 103k scripts 320k downloads
vctrs - Vector Helpers
Defines new notions of prototype and size that are used to provide tools for consistent and well-founded type-coercion and size-recycling, and are in turn connected to ideas of type- and size-stability useful for analysing function interfaces.
Last updated
s3-vectors
19.56 score 296 stars 14k dependents 1.1k scripts 1.5M downloads
devtools - Tools to Make Developing R Packages Easier
Collection of package development tools.
Last updated
package-creation
19.46 score 2.5k stars 146 dependents 64k scripts 279k downloadscli - Helpers for Developing Command Line Interfaces
A suite of tools to build attractive command line interfaces ('CLIs'), from semantic elements: headings, lists, alerts, paragraphs, etc. Supports custom themes via a 'CSS'-like language. It also contains a number of lower level 'CLI' elements: rules, boxes, trees, and 'Unicode' symbols with 'ASCII' alternatives. It support ANSI colors and text styles as well.
Last updated
cli
19.42 score 682 stars 15k dependents 1.9k scripts 1.7M downloadsxml2 - Parse XML
Bindings to 'libxml2' for working with XML data using a simple, consistent interface based on 'XPath' expressions. Also supports XML schema validation; for 'XSLT' transformations see the 'xslt' package.
Last updated
libxml2xmlcpp
19.11 score 224 stars 2.3k dependents 6.9k scripts 1.3M downloadstidyselect - Select from a Set of Strings
A backend for the selecting functions of the 'tidyverse'. It makes it easy to implement select-like functions in your own packages in a way that is consistent with other 'tidyverse' interfaces for selection.
Last updated
18.51 score 129 stars 8.8k dependents 2.0k scripts 1.2M downloadspillar - Coloured Formatting for Columns
Provides 'pillar' and 'colonnade' generics designed for formatting columns of data using the full range of colours provided by modern terminals.
Last updated
colour
18.36 score 182 stars 9.7k dependents 282 scripts 1.5M downloads
roxygen2 - In-Line Documentation for R
Generate your Rd documentation, 'NAMESPACE' file, and collation field using specially formatted comments. Writing documentation in-line with code makes it easier to keep your documentation up-to-date as your requirements change. 'roxygen2' is inspired by the 'Doxygen' system for C++.
Last updated
devtoolsdocumentationcpp
18.34 score 622 stars 225 dependents 2.5k scripts 268k downloads
pkgdown - Make Static HTML Documentation for a Package
Generate an attractive and useful website from a source package. 'pkgdown' converts your documentation, vignettes, 'README', and more to 'HTML' making it easy to share information about your package online.
Last updated
documentation-toolquarto
18.32 score 751 stars 160 dependents 606 scripts 195k downloads
gtable - Arrange 'Grobs' in Tables
Tools to make it easier to work with "tables" of 'grobs'. The 'gtable' package defines a 'gtable' grob class that specifies a grid along with a list of grobs and their placement in the grid. Further the package makes it easy to manipulate and combine 'gtable' objects so that complex compositions can be built up sequentially.
Last updated
18.22 score 93 stars 8.1k dependents 5.2k scripts 1.4M downloads
httr2 - Perform HTTP Requests and Process the Responses
Tools for creating and modifying HTTP requests, then performing them and processing the results. 'httr2' is a modern re-imagining of 'httr' that uses a pipe-based interface and solves more of the problems that API wrapping packages face.
Last updated
http
18.11 score 257 stars 1.4k dependents 3.4k scripts 417k downloads
withr - Run Code 'With' Temporarily Modified Global State
A set of functions to run code 'with' safely and temporarily modified global state. Many of these functions were originally a part of the 'devtools' package, this provides a simple package with limited dependencies to provide access to these functions.
Last updated
18.06 score 178 stars 13k dependents 1.4k scripts 1.4M downloadsR6 - Encapsulated Classes with Reference Semantics
Creates classes with reference semantics, similar to R's built-in reference classes. Compared to reference classes, R6 classes are simpler and lighter-weight, and they are not built on S4 classes so they do not require the methods package. These classes allow public and private members, and they support inheritance, even when the classes are defined in different packages.
Last updated
17.97 score 424 stars 14k dependents 2.0k scripts 1.4M downloads
usethis - Automate Package and Project Setup
Automate package and project setup tasks that are otherwise performed manually. This includes setting up unit testing, test coverage, continuous integration, Git, 'GitHub', licenses, 'Rcpp', 'RStudio' projects, and more.
Last updated
githubsetup
17.81 score 893 stars 348 dependents 6.7k scripts 235k downloadscpp11 - A C++11 Interface for R's C Interface
Provides a header only, C++11 interface to R's C interface. Compared to other approaches 'cpp11' strives to be safe against long jumps from the C API as well as C++ exceptions, conform to normal R function semantics and supports interaction with 'ALTREP' vectors.
Last updated
cppcpp11
17.25 score 218 stars 9.0k dependents 120 scripts 985k downloadsremotes - R Package Installation from Remote Repositories, Including 'GitHub'
Download and install R packages stored in 'GitHub', 'GitLab', 'Bitbucket', 'Bioconductor', or plain 'subversion' or 'git' repositories. This package provides the 'install_*' functions in 'devtools'. Indeed most of the code was copied over from 'devtools'.
Last updated
17.17 score 352 stars 246 dependents 6.2k scripts 492k downloadslifecycle - Manage the Life Cycle of your Package Functions
Manage the life cycle of your exported functions with shared conventions, documentation badges, and user-friendly deprecation warnings.
Last updated
16.97 score 93 stars 15k dependents 75 scripts 1.6M downloads
systemfonts - System Native Font Finding
Provides system native access to the font catalogue. As font handling varies between systems it is difficult to correctly locate installed fonts across different operating systems. The 'systemfonts' package provides bindings to the native libraries on Windows, macOS and Linux for finding font files that can then be used further by e.g. graphic devices. The main use is intended to be from compiled code but 'systemfonts' also provides access from R.
Last updated
fontsfontconfigfreetypecpp
16.90 score 93 stars 1.1k dependents 716 scripts 1.4M downloadsrprojroot - Finding Files in Project Subdirectories
Robust, reliable and flexible paths to files below a project root. The 'root' of a project is defined as a directory that matches a certain criterion, e.g., it contains a certain regular file.
Last updated
16.88 score 150 stars 1.5k dependents 1.6k scripts 756k downloads
lintr - A 'Linter' for R Code
Checks adherence to a given style, syntax errors and possible semantic issues. Supports on the fly checking of R code edited with 'RStudio IDE', 'Emacs', 'Vim', 'Sublime Text', 'Atom' and 'Visual Studio Code'.
Last updated
linter
16.81 score 1.3k stars 33 dependents 1.1k scripts 70k downloadssvglite - An 'SVG' Graphics Device
A graphics device for R that produces 'Scalable Vector Graphics'. 'svglite' is a fork of the older 'RSvgDevice' package.
Last updated
svglibpngcpp
16.74 score 196 stars 240 dependents 5.9k scripts 438k downloadslater - Utilities for Scheduling Functions to Execute Later with Event Loops
Executes arbitrary R or C functions some time after the current time, after the R execution stack has emptied. The functions are scheduled in an event loop.
Last updated
event-loopcpp
16.54 score 147 stars 2.8k dependents 318 scripts 642k downloads
progress - Terminal Progress Bars
Configurable Progress bars, they may include percentage, elapsed time, and/or the estimated completion time. They work in terminals, in 'Emacs' 'ESS', 'RStudio', 'Windows' 'Rgui' and the 'macOS' 'R.app'. The package also provides a 'C++' 'API', that works with or without 'Rcpp'.
Last updated
16.49 score 474 stars 3.2k dependents 3.1k scripts 1.2M downloadscrayon - Colored Terminal Output
The crayon package is now superseded. Please use the 'cli' package for new projects. Colored terminal output on terminals that support 'ANSI' color and highlight codes. It also works in 'Emacs' 'ESS'. 'ANSI' color support is automatically detected. Colors and highlighting can be combined and nested. New styles can also be created easily. This package was inspired by the 'chalk' 'JavaScript' project.
Last updated
16.48 score 324 stars 5.3k dependents 1.7k scripts 1.1M downloads
styler - Non-Invasive Pretty Printing of R Code
Pretty-prints R code without changing the user's formatting intent.
Last updated
pretty-print
16.31 score 765 stars 65 dependents 1.0k scripts 81k downloadsevaluate - Parsing and Evaluation Tools that Provide More Details than the Default
Parsing and evaluation tools that make it easy to recreate the command line behaviour of R.
Last updated
evaluationparsingrepl
16.03 score 139 stars 4.7k dependents 193 scripts 1.1M downloadszip - Cross-Platform 'zip' Compression
Cross-Platform 'zip' Compression Library. A replacement for the 'zip' function, that does not require any additional external tools on any platform.
Last updated
15.84 score 90 stars 981 dependents 1.3k scripts 464k downloadsmemoise - 'Memoisation' of Functions
Cache the results of a function so that when you call it again with the same arguments it returns the previously computed value.
Last updated
memoise
15.81 score 321 stars 5.6k dependents 1.1k scripts 948k downloadsgargle - Utilities for Working with Google APIs
Provides utilities for working with Google APIs <https://developers.google.com/apis-explorer>. This includes functions and classes for handling common credential types and for preparing, executing, and processing HTTP requests.
Last updated
authenticationgoogle
15.75 score 113 stars 200 dependents 302 scripts 650k downloadsprocessx - Execute and Control System Processes
Tools to run system processes in the background. It can check if a background process is running; wait on a background process to finish; get the exit status of finished processes; kill background processes. It can read the standard output and error of the processes, using non-blocking connections. 'processx' can poll a process for standard output or error, with a timeout. It can also poll several processes at once.
Last updated
15.67 score 243 stars 1.5k dependents 460 scripts 875k downloads
covr - Test Coverage for Packages
Track and report code coverage for your package and (optionally) upload the results to a coverage service like 'Codecov' <https://about.codecov.io> or 'Coveralls' <https://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.
Last updated
codecovcoveragecoverage-reporttravis-ci
15.67 score 345 stars 13 dependents 2.6k scripts 265k downloads
ragg - Graphic Devices Based on AGG
Anti-Grain Geometry (AGG) is a high-quality and high-performance 2D drawing library. The 'ragg' package provides a set of graphic devices based on AGG to use as alternative to the raster devices provided through the 'grDevices' package.
Last updated
drawinggraphicsvector-graphicsfreetypelibpngtifflibjpeg-turbolibwebpcpp
15.56 score 180 stars 506 dependents 1.6k scripts 1.3M downloadsgh - 'GitHub' 'API'
Minimal client to access the 'GitHub' 'API'.
Last updated
githubgithub-api
15.53 score 228 stars 417 dependents 524 scripts 317k downloadscallr - Call R from R
It is sometimes useful to perform a computation in a separate R process, without affecting the current R process at all. This packages does exactly that.
Last updated
15.23 score 303 stars 1.3k dependents 334 scripts 842k downloadsbit - Classes and Methods for Fast Memory-Efficient Boolean Selections
Provided are classes for boolean and skewed boolean vectors, fast boolean methods, fast unique and non-unique integer sorting, fast set operations on sorted and unsorted sets of integers, and foundations for ff (range index, compression, chunked processing).
Last updated
15.18 score 12 stars 3.4k dependents 151 scripts 873k downloadsprofvis - Interactive Visualizations for Profiling R Code
Interactive visualizations for profiling R code.
Last updated
15.14 score 310 stars 148 dependents 1.5k scripts 175k downloads
isoband - Generate Isolines and Isobands from Regularly Spaced Elevation Grids
A fast C++ implementation to generate contour lines (isolines) and contour polygons (isobands) from regularly spaced grids containing elevation data.
Last updated
cpp
15.06 score 132 stars 8.0k dependents 75 scripts 982k downloadsps - List, Query, Manipulate System Processes
List, query and manipulate all system processes, on 'Windows', 'Linux' and 'macOS'.
Last updated
15.05 score 81 stars 1.5k dependents 128 scripts 874k downloads
mirai - Minimalist Async Evaluation Framework for R
Designed for simplicity, a 'mirai' evaluates an R expression asynchronously in a parallel process, locally or distributed over the network. Modern networking and concurrency, built on 'nanonext' and 'NNG', ensures reliable scheduling over fast inter-process communications or TCP/IP secured by TLS. Launch remote resources via SSH or cluster managers for distributed computing. Scales efficiently to millions of tasks over thousands of connections, requiring no storage on the file system due to its inherently queued architecture. Innovative features include event-driven promises, asynchronous parallel map, and seamless serialization of otherwise non-exportable reference objects.
Last updated
asyncasynchronous-tasksconcurrencydistributed-computinghigh-performance-computingparallel-computing
15.03 score 288 stars 68 dependents 238 scripts 51k downloadsdesc - Manipulate DESCRIPTION Files
Tools to read, write, create, and manipulate DESCRIPTION files. It is intended for packages that create or manipulate other packages.
Last updated
14.89 score 125 stars 1.2k dependents 422 scripts 482k downloads
clock - Date-Time Types and Tools
Provides a comprehensive library for date-time manipulations using a new family of orthogonal date-time classes (durations, time points, zoned-times, and calendars) that partition responsibilities so that the complexities of time zones are only considered when they are really needed. Capabilities include: date-time parsing, formatting, arithmetic, extraction and updating of components, and rounding.
Last updated
cpp
14.82 score 110 stars 455 dependents 358 scripts 194k downloads
gert - Simple Git Client for R
Simple git client for R based on 'libgit2' <https://libgit2.org> with support for SSH and HTTPS remotes. All functions in 'gert' use basic R data types (such as vectors and data-frames) for their arguments and return values. User credentials are shared with command line 'git' through the git-credential store and ssh keys stored on disk or ssh-agent.
Last updated
14.69 score 156 stars 379 dependents 192 scripts 201k downloads
gert - Simple Git Client for R
Simple git client for R based on 'libgit2' <https://libgit2.org> with support for SSH and HTTPS remotes. All functions in 'gert' use basic R data types (such as vectors and data-frames) for their arguments and return values. User credentials are shared with command line 'git' through the git-credential store and ssh keys stored on disk or ssh-agent.
Last updated
14.69 score 156 stars 379 dependents 192 scripts 201k downloadsslider - Sliding Window Functions
Provides type-stable rolling window functions over any R data type. Cumulative and expanding windows are also supported. For more advanced usage, an index can be used as a secondary vector that defines how sliding windows are to be created.
Last updated
14.58 score 307 stars 117 dependents 1.4k scripts 84k downloadssessioninfo - R Session Information
Query and print information about the current R session. It is similar to 'utils::sessionInfo()', but includes more information about packages, and where they were installed from.
Last updated
14.49 score 77 stars 239 dependents 4.3k scripts 330k downloadspkgbuild - Find Tools Needed to Build R Packages
Provides functions used to build R packages. Locates compilers needed to build R packages on various platforms and ensures the PATH is configured appropriately so R can use them.
Last updated
14.38 score 75 stars 900 dependents 165 scripts 505k downloadspkgload - Simulate Package Installation and Attach
Simulates the process of installing a package and then attaching it. This is a key part of the 'devtools' package as it allows you to rapidly iterate while developing a package.
Last updated
14.35 score 60 stars 616 dependents 152 scripts 530k downloadswaldo - Find Differences Between R Objects
Compare complex R objects and reveal the key differences. Designed particularly for use in testing packages where being able to quickly isolate key differences makes understanding test failures much easier.
Last updated
difftesting
14.26 score 299 stars 486 dependents 179 scripts 1.1M downloadstextshaping - Bindings to the 'HarfBuzz' and 'Fribidi' Libraries for Text Shaping
Provides access to the text shaping functionality in the 'HarfBuzz' library and the bidirectional algorithm in the 'Fribidi' library. 'textshaping' is a low-level utility package mainly for graphic devices that expands upon the font tool-set provided by the 'systemfonts' package.
Last updated
harfbuzzfreetypefribidicpp
14.21 score 20 stars 722 dependents 81 scripts 1.3M downloadsgitcreds - Query 'git' Credentials from 'R'
Query, set, delete credentials from the 'git' credential store. Manage 'GitHub' tokens and other 'git' credentials. This package is to be used by other packages that need to authenticate to 'GitHub' and/or other 'git' repositories.
Last updated
credentialscredentials-helpergitgithub
14.20 score 30 stars 422 dependents 438 scripts 296k downloadsgenerics - Common S3 Generics not Provided by Base R Methods Related to Model Fitting
In order to reduce potential package dependencies and conflicts, generics provides a number of commonly used S3 generics.
Last updated
14.18 score 61 stars 10k dependents 161 scripts 1.1M downloadsrappdirs - Application Directories: Determine Where to Save Data, Caches, and Logs
An easy way to determine which directories on the users computer you should use to save data, caches and logs. A port of Python's 'Appdirs' (<https://github.com/ActiveState/appdirs>) to R.
Last updated
appdir
14.12 score 89 stars 5.9k dependents 87 scripts 969k downloadsconflicted - An Alternative Conflict Resolution Strategy
R's default conflict management system gives the most recently loaded package precedence. This can make it hard to detect conflicts, particularly when they arise because a package update creates ambiguity that did not previously exist. 'conflicted' takes a different approach, making every conflict an error and forcing you to choose which function to use.
Last updated
conflicts
14.12 score 253 stars 149 dependents 6.2k scripts 539k downloadsrex - Friendly Regular Expressions
A friendly interface for the construction of regular expressions.
Last updated
14.10 score 336 stars 96 dependents 180 scripts 182k downloadsprettyunits - Pretty, Human Readable Formatting of Quantities
Pretty, human readable formatting of quantities. Time intervals: '1337000' -> '15d 11h 23m 20s'. Vague time intervals: '2674000' -> 'about a month ago'. Bytes: '1337' -> '1.34 kB'. Rounding: '99' with 3 significant digits -> '99.0' p-values: '0.00001' -> '<0.0001'. Colors: '#FF0000' -> 'red'. Quantities: '1239437' -> '1.24 M'.
Last updated
14.10 score 134 stars 3.4k dependents 98 scripts 890k downloadsfastmap - Fast Data Structures
Fast implementation of data structures, including a key-value store, stack, and queue. Environments are commonly used as key-value stores in R, but every time a new key is used, it is added to R's global symbol table, causing a small amount of memory leakage. This can be problematic in cases where many different keys are used. Fastmap avoids this memory leak issue by implementing the map using data structures in C++.
Last updated
cpp
14.06 score 135 stars 5.8k dependents 114 scripts 950k downloadscommonmark - High Performance CommonMark and Github Markdown Rendering in R
The CommonMark specification <https://github.github.com/gfm/> 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. Also includes opt-in support for GFM extensions including tables, autolinks, and strikethrough text.
Last updated
cmarkcmark-gfmgfmmarkdown
13.86 score 98 stars 2.3k dependents 93 scripts 648k downloadscommonmark - High Performance CommonMark and Github Markdown Rendering in R
The CommonMark specification <https://github.github.com/gfm/> 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. Also includes opt-in support for GFM extensions including tables, autolinks, and strikethrough text.
Last updated
cmarkcmark-gfmgfmmarkdown
13.86 score 98 stars 2.3k dependents 93 scripts 648k downloadszeallot - Multiple, Unpacking, and Destructuring Assignment
Provides a %<-% operator to perform multiple, unpacking, and destructuring assignment in R. The operator unpacks the right-hand side of an assignment into multiple values and assigns these values to variables on the left-hand side of the assignment.
Last updated
destructuring-assignmentmultiple-assignmentpattern-matchingunpacking-assignment
13.83 score 270 stars 113 dependents 2.3k scripts 42k downloadscachem - Cache R Objects with Automatic Pruning
Key-value stores with automatic pruning. Caches can limit either their total size or the age of the oldest object (or both), automatically pruning objects to maintain the constraints.
Last updated
13.63 score 63 stars 5.6k dependents 97 scripts 1.0M downloadspak - Another Approach to Package Installation
The goal of 'pak' is to make package installation faster and more reliable. In particular, it performs all HTTP operations in parallel, so metadata resolution and package downloads are fast. Metadata and package files are cached on the local disk as well. 'pak' has a dependency solver, so it finds version conflicts before performing the installation. This version of 'pak' supports CRAN, 'Bioconductor' and 'GitHub' packages as well.
Last updated
13.47 score 764 stars 21 dependents 372 scripts 37k downloadscoro - 'Coroutines' for R
Provides 'coroutines' for R, a family of functions that can be suspended and resumed later on. This includes 'async' functions (which await) and generators (which yield). 'Async' functions are based on the concurrency framework of the 'promises' package. Generators are based on a dependency free iteration protocol defined in 'coro' and are compatible with iterators from the 'reticulate' package.
Last updated
asynccoroutinesgeneratoriteratorpromisesreticulate
13.44 score 177 stars 69 dependents 150 scripts 206k downloadsbackports - Reimplementations of Functions Introduced Since R-3.0.0
Functions introduced or changed since R v3.0.0 are re-implemented in this package. The backports are conditionally exported in order to let R resolve the function name to either the implemented backport, or the respective base version, if available. Package developers can make use of new functions or arguments by selectively importing specific backports to support older installations.
Last updated
backports
13.27 score 67 stars 3.4k dependents 200 scripts 681k downloadspkgconfig - Private Configuration for 'R' Packages
Set configuration options on a per-package basis. Options set by a given package only apply to that package, other packages are unaffected.
Last updated
13.20 score 42 stars 11k dependents 34 scripts 1.1M downloadssodium - A Modern and Easy-to-Use Crypto Library
Bindings to 'libsodium' <https://doc.libsodium.org/>: 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.
Last updated
libsodium
12.92 score 69 stars 53 dependents 231 scripts 235k downloadssodium - A Modern and Easy-to-Use Crypto Library
Bindings to 'libsodium' <https://doc.libsodium.org/>: 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.
Last updated
libsodium
12.92 score 69 stars 53 dependents 231 scripts 232k downloadskeyring - Access the System Credential Store from R
Platform independent 'API' to access the operating system's credential store. Currently supports: 'Keychain' on 'macOS', Credential Store on 'Windows', the Secret Service 'API' on 'Linux', and simple, platform independent stores implemented with environment variables or encrypted files. Additional storage back-ends can be added easily.
Last updated
keyringsecuritylibsecretglib
12.87 score 199 stars 54 dependents 1.0k scripts 25k downloadsaskpass - Password Entry Utilities for R, Git, and SSH
Cross-platform utilities for prompting the user for credentials or a passphrase, for example to authenticate with a server or read a protected key. Includes native programs for MacOS and Windows, hence no 'tcltk' is required. Password entry can be invoked in two different ways: directly from R via the askpass() function, or indirectly as password-entry back-end for 'ssh-agent' or 'git-credential' via the SSH_ASKPASS and GIT_ASKPASS environment variables. Thereby the user can be prompted for credentials or a passphrase if needed when R calls out to git or ssh.
Last updated
12.66 score 87 stars 4.8k dependents 81 scripts 899k downloadsbench - High Precision Timing of R Expressions
Tools to accurately benchmark and analyze execution times for R expressions.
Last updated
12.56 score 254 stars 10 dependents 880 scripts 71k downloadsrcmdcheck - Run 'R CMD check' from 'R' and Capture Results
Run 'R CMD check' from 'R' and capture the results of the individual checks. Supports running checks in the background, timeouts, pretty printing and comparing check results.
Last updated
12.54 score 120 stars 157 dependents 129 scripts 178k downloads
lobstr - Visualize R Data Structures with Trees
A set of tools for inspecting and understanding R data structures inspired by str(). Includes ast() for visualizing abstract syntax trees, ref() for showing shared references, cst() for showing call stack trees, and obj_size() for computing object sizes.
Last updated
cpp
12.52 score 308 stars 97 dependents 808 scripts 91k downloads
sparsevctrs - Sparse Vectors for Use in Data Frames
Provides sparse vectors powered by ALTREP (Alternative Representations for R Objects) that behave like regular vectors, and can thus be used in data frames. Also provides tools to convert between sparse matrices and data frames with sparse columns and functions to interact with sparse vectors.
Last updated
12.41 score 21 stars 483 dependents 29 scripts 224k downloads
credentials - Tools for Managing SSH and Git Credentials
Setup and retrieve HTTPS and SSH credentials for use with 'git' and other services. For HTTPS remotes the package interfaces the 'git-credential' utility which 'git' uses to store HTTP usernames and passwords. For SSH remotes we provide convenient functions to find or generate appropriate SSH keys. The package both helps the user to setup a local git installation, and also provides a back-end for git/ssh client libraries to authenticate with existing user credentials.
Last updated
gitpasswordssh
12.32 score 73 stars 391 dependents 107 scripts 230k downloads
nanonext - NNG (Nanomsg Next Gen) Lightweight Messaging Library
R binding for NNG (Nanomsg Next Gen), a successor to ZeroMQ. NNG is a socket library for reliable, high-performance messaging over in-process, IPC, TCP, WebSocket and secure TLS transports. Implements 'Scalability Protocols', a standard for common communications patterns including publish/subscribe, request/reply and service discovery. As its own threaded concurrency framework, provides a toolkit for asynchronous programming and distributed computing. Intuitive 'aio' objects resolve automatically when asynchronous operations complete, and synchronisation primitives allow R to wait upon events signalled by concurrent threads.
Last updated
concurrencyhttpsipc-messagemessaging-librarynngrpcsocket-communicationsynchronization-primitivestcp-protocolwebsocketmbedtls
12.29 score 74 stars 74 dependents 48 scripts 56k downloadsdownlit - Syntax Highlighting and Automatic Linking
Syntax highlighting of R code, specifically designed for the needs of 'RMarkdown' packages like 'pkgdown', 'hugodown', and 'bookdown'. It includes linking of function calls to their documentation on the web, and automatic translation of ANSI escapes in output to the equivalent HTML.
Last updated
syntax-highlighting
12.25 score 91 stars 173 dependents 376 scripts 142k downloadsbrio - Basic R Input Output
Functions to handle basic input output, these functions always read and write UTF-8 (8-bit Unicode Transformation Format) files and provide more explicit control over line endings.
Last updated
12.18 score 58 stars 550 dependents 45 scripts 437k downloadsarchive - Multi-Format Archive and Compression Support
Bindings to 'libarchive' <http://www.libarchive.org> the Multi-format archive and compression library. Offers R connections and direct extraction for many archive formats including 'tar', 'ZIP', '7-zip', 'RAR', 'CAB' and compression formats including 'gzip', 'bzip2', 'compress', 'lzma' and 'xz'.
Last updated
compressionconnectionslibarchivecpp
11.99 score 145 stars 27 dependents 624 scripts 20k downloadsmockery - Mocking Library for R
The two main functionalities of this package are creating mock objects (functions) and selectively intercepting calls to a given function that originate in some other function. It can be used with any testing framework available for R. Mock objects can be injected with either this package's own stub() function or a similar with_mocked_binding() facility present in the 'testthat' package.
Last updated
11.95 score 103 stars 4 dependents 580 scripts 224k downloadstzdb - Time Zone Database Information
Provides an up-to-date copy of the Internet Assigned Numbers Authority (IANA) Time Zone Database. It is updated periodically to reflect changes made by political bodies to time zone boundaries, UTC offsets, and daylight saving time rules. Additionally, this package provides a C++ interface for working with the 'date' library. 'date' provides comprehensive support for working with dates and date-times, which this package exposes to make it easier for other R packages to utilize. Headers are provided for calendar specific calculations, along with a limited interface for time zone manipulations.
Last updated
cpp
11.78 score 7 stars 2.6k dependents 41 scripts 915k downloadsellipsis - Tools for Working with ...
The ellipsis is a powerful tool for extending functions. Unfortunately this power comes at a cost: misspelled arguments will be silently ignored. The ellipsis package provides a collection of functions to catch problems and alert the user.
Last updated
dot-dot-dotellipsis
11.75 score 142 stars 243 dependents 85 scripts 158k downloadsvdiffr - Visual Regression Testing and Graphical Diffing
An extension to the 'testthat' package that makes it easy to add graphical unit tests. It provides a Shiny application to manage the test cases.
Last updated
ggplot2graphicstestthatlibpngcpp
11.68 score 194 stars 6 dependents 336 scripts 75k downloadsrematch2 - Tidy Output from Regular Expression Matching
Wrappers on 'regexpr' and 'gregexpr' to return the match results in tidy data frames.
Last updated
11.45 score 46 stars 188 dependents 33 scripts 655k downloadslog4r - A Fast and Lightweight Logging System for R, Based on 'log4j'
The log4r package is meant to provide a fast, lightweight, object-oriented approach to logging in R based on the widely-emulated 'log4j' system and etymology.
Last updated
logging
11.26 score 98 stars 17 dependents 224 scripts 11k downloadsjose - JavaScript Object Signing and Encryption
Read and write JSON Web Keys (JWK, rfc7517), generate and verify JSON Web Signatures (JWS, rfc7515) and encode/decode JSON Web Tokens (JWT, rfc7519) <https://datatracker.ietf.org/wg/jose/documents/>. These standards provide modern signing and encryption formats that are natively supported by browsers via the JavaScript WebCryptoAPI <https://www.w3.org/TR/WebCryptoAPI/#jose>, and used by services like OAuth 2.0, LetsEncrypt, and Github Apps.
Last updated
11.20 score 53 stars 61 dependents 76 scripts 107k downloadsgmailr - Access the 'Gmail' 'RESTful' API
An interface to the 'Gmail' 'RESTful' API. Allows access to your 'Gmail' messages, threads, drafts and labels.
Last updated
11.04 score 234 stars 1 dependents 325 scripts 23k downloadsfilelock - Portable File Locking
Place an exclusive or shared lock on a file. It uses 'LockFile' on Windows and 'fcntl' locks on Unix-like systems.
Last updated
10.99 score 44 stars 600 dependents 91 scripts 68k downloadsnanoparquet - Read and Write 'Parquet' Files
Self-sufficient reader and writer for flat 'Parquet' files. Can read most 'Parquet' data types. Can write many 'R' data types, including factors and temporal types. See docs for limitations.
Last updated
parquetcpp
10.88 score 75 stars 16 dependents 215 scripts 30k downloadsurlchecker - Run CRAN URL Checks from Older R Versions
Provide the URL checking tools available in R 4.1+ as a package for earlier versions of R. Also uses concurrent requests so can be much faster than the serial versions.
Last updated
10.47 score 45 stars 148 dependents 17 scripts 146k downloadsymlthis - Write 'YAML' for 'R Markdown', 'bookdown', 'blogdown', and More
Write 'YAML' front matter for R Markdown and related documents. Work with 'YAML' objects more naturally and write the resulting 'YAML' to your clipboard or to 'YAML' files related to your project.
Last updated
10.45 score 167 stars 14 dependents 195 scripts 3.4k downloadspingr - Check if a Remote Computer is Up
Check if a remote computer is up. It can either just call the system ping command, or check a specified TCP port.
Last updated
dnsis-onlinepingtcpglibc
10.29 score 37 stars 24 dependents 144 scripts 48k downloadsxopen - Open System Files, 'URLs', Anything
Cross platform solution to open files, directories or 'URLs' with their associated programs.
Last updated
10.23 score 33 stars 158 dependents 42 scripts 174k downloadspkgdepends - Package Dependency Resolution and Downloads
Find recursive dependencies of 'R' packages from various sources. Solve the dependencies to obtain a consistent set of packages to install. Download packages, and install them. It supports packages on 'CRAN', 'Bioconductor' and other 'CRAN-like' repositories, 'GitHub', package 'URLs', and local package trees and files. It caches metadata and package files via the 'pkgcache' package, and performs all 'HTTP' requests, downloads, builds and installations in parallel. 'pkgdepends' is the workhorse of the 'pak' package.
Last updated
10.21 score 129 stars 5 dependents 76 scripts 8.2k downloadsxmlparsedata - Parse Data of 'R' Code as an 'XML' Tree
Convert the output of 'utils::getParseData()' to an 'XML' tree, that one can search via 'XPath', and easier to manipulate in general.
Last updated
xml
9.66 score 25 stars 35 dependents 26 scripts 64k downloadscarrier - Isolate Functions for Remote Execution
Sending functions to remote processes can be wasteful of resources because they carry their environments with them. With the carrier package, it is easy to create functions that are isolated from their environment. These isolated functions, also called crates, print at the console with their total size and can be easily tested locally before being sent to a remote.
Last updated
9.47 score 62 stars 5 dependents 204 scripts 31k downloads
marquee - Markdown Parser and Renderer for R Graphics
Provides the mean to parse and render markdown text with grid along with facilities to define the styling of the text.
Last updated
cpp
9.27 score 97 stars 1 dependents 120 scripts 1.1k downloadspkgcache - Cache 'CRAN'-Like Metadata and R Packages
Metadata and package cache for CRAN-like repositories. This is a utility package to be used by package management tools that want to take advantage of caching.
Last updated
9.17 score 29 stars 8 dependents 34 scripts 8.7k downloadswhoami - Username, Full Name, Email Address, 'GitHub' Username of the Current User
Look up the username and full name of the current user, the current user's email address and 'GitHub' username, using various sources of system and configuration information.
Last updated
8.85 score 19 stars 29 dependents 36 scripts 30k downloadstreesitter.r - 'R' Grammar for 'Tree-Sitter'
Provides bindings to an 'R' grammar for 'Tree-sitter', to be used alongside the 'treesitter' package. 'Tree-sitter' builds concrete syntax trees for source files of any language, and can efficiently update those syntax trees as the source file is edited.
Last updated
8.48 score 124 stars 3 dependents 41 scripts 1.5k downloadswebfakes - Fake Web Apps for HTTP Testing
Create a web app that makes it easier to test web clients without using the internet. It includes a web app framework with path matching, parameters and templates. Can parse various 'HTTP' request bodies. Can send 'JSON' data or files from the disk. Includes a web app that implements the 'httpbin.org' web service.
Last updated
8.35 score 63 stars 1 dependents 20 scripts 33k downloadsavailable - Check if the Title of a Package is Available, Appropriate and Interesting
Check if a given package name is available to use. It checks the name's validity. Checks if it is used on 'GitHub', 'CRAN' and 'Bioconductor'. Checks for unintended meanings by querying 'Wiktionary' and Wikipedia.
Last updated
unconfunconf17
8.16 score 144 stars 3 dependents 123 scripts 995 downloadsdebugme - Debug R Packages
Specify debug messages as special string constants, and control debugging of packages via environment variables.
Last updated
debugging-tool
8.01 score 153 stars 5 dependents 12 scripts 15k downloadsclisymbols - Unicode Symbols at the R Prompt
A small subset of Unicode symbols, that are useful when building command line applications. They fall back to alternatives on terminals that do not support Unicode. Many symbols were taken from the 'figures' 'npm' package (see <https://github.com/sindresorhus/figures>).
Last updated
7.88 score 82 stars 20 dependents 30 scripts 10k downloadsotel - OpenTelemetry R API
High-quality, ubiquitous, and portable telemetry to enable effective observability. OpenTelemetry is a collection of tools, APIs, and SDKs used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. This package implements the OpenTelemetry API: <https://opentelemetry.io/docs/specs/otel/>. Use this package as a dependency if you want to instrument your R package for OpenTelemetry.
Last updated
7.88 score 16 stars 33 dependents 2 scripts 5.0k downloadsprettycode - Pretty Print R Code in the Terminal
Replace the standard print method for functions with one that performs syntax highlighting, using ANSI colors, if the terminal supports them.
Last updated
7.73 score 106 stars 4 dependents 11 scripts 6.4k downloadsasciicast - Create 'Ascii' Screen Casts from R Scripts
Record 'asciicast' screen casts from R scripts. Convert them to animated SVG images, to be used in 'README' files, or blog posts. Includes 'asciinema-player' as an 'HTML' widget, and an 'asciicast' 'knitr' engine, to embed 'ascii' screen casts in 'Rmarkdown' documents.
Last updated
7.27 score 240 stars 10 scripts 7.4k downloadsdecor - Retrieve Code Decorations
Retrieves code comment decorations for C++ languages of the form '\\ [[xyz]]', which are used for automated wrapping of C++ functions.
Last updated
cpp
7.21 score 3 stars 3 dependents 65 scripts 31k downloadsroxygen2md - 'Roxygen' to 'Markdown'
Converts elements of 'roxygen' documentation to 'markdown'.
Last updated
documentationmarkdown
7.08 score 68 stars 2 dependents 15 scripts 384 downloads
sloop - Helpers for 'OOP' in R
A collection of helper functions designed to help you to better understand object oriented programming in R, particularly using 'S3'.
Last updated
r6s3s4
6.90 score 104 stars 291 scripts 1.7k downloadswatcher - Watch the File System for Changes
R binding for 'libfswatch', a file system monitoring library. Watch files, or directories recursively, for changes in the background. Log activity, or run an R function every time a change event occurs.
Last updated
filesystem-eventscpp
6.69 score 31 stars 6 scripts 22k downloadsdiffviewer - HTML Widget to Show File Differences
A HTML widget that shows differences between files (text, images, and data frames).
Last updated
diffhtmlwidgets
6.50 score 62 stars 17 scripts 20k downloadsliteq - Lightweight Portable Message Queue Using 'SQLite'
Temporary and permanent message queues for R. Built on top of 'SQLite' databases. 'SQLite' provides locking, and makes it possible to detect crashed consumers. Crashed jobs can be automatically marked as "failed", or put in the queue again, potentially a limited number of times.
Last updated
6.01 score 57 stars 1 dependents 20 scripts 828 downloadsotelsdk - R SDK and Exporters for OpenTelemetry
OpenTelemetry is a collection of tools, APIs, and SDKs used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. This package contains the OpenTelemetry SDK, and exporters. Use this package to export traces, metrics, logs from instrumented R code. Use the otel package to instrument your R code for OpenTelemetry.
Last updated
protobufcurlcpp
5.99 score 12 stars 2 scripts 3.0k downloadscliapp - Create Rich Command Line Applications
Create rich command line applications, with colors, headings, lists, alerts, progress bars, etc. It uses CSS for custom themes. This package is now superseded by the 'cli' package. Please use 'cli' instead in new projects.
Last updated
5.78 score 61 stars 65 scripts 3.0k downloadsshowimage - Show an Image on an 'R' Graphics Device
Sometimes it is handy to be able to view an image file on an 'R' graphics device. This package just does that. Currently it supports 'PNG' files.
Last updated
5.74 score 8 stars 2 dependents 12 scripts 9.5k downloadscleancall - C Resource Cleanup via Exit Handlers
Wrapper of .Call() that runs exit handlers to clean up C resources. Helps managing C (non-R) resources while using the R API.
Last updated
5.42 score 19 stars 1 dependents 1 scripts 1.1k downloadscereal - Serialize 'vctrs' Objects to 'JSON'
The 'vctrs' package provides a concept of vector prototype that can be especially useful when deploying models and code. Serialize these object prototypes to 'JSON' so they can be used to check and coerce data in production systems, and deserialize 'JSON' back to the correct object prototypes.
Last updated
5.38 score 24 stars 2 dependents 4 scripts 3.3k downloadsmeltr - Read Non-Rectangular Text Data
The goal of 'meltr' is to provide a fast and friendly way to read non-rectangular data, such as ragged forms of csv (comma-separated values), tsv (tab-separated values), and fwf (fixed-width format) files.
Last updated
cpp
5.35 score 31 stars 1 dependents 16 scripts 255 downloads
Rapp - Easily Build Command Line Applications
Run simple 'R' scripts as command line applications, with automatic robust and convenient support for command line arguments. This package provides 'Rapp', an alternative 'R' front-end similar to 'Rscript', that enables this.
Last updated
4.49 score 62 stars 2 scripts 174 downloadsoskeyring - Raw System Credential Store Access from R
Aims to support all features of the system credential store, including non-portable ones. Supports 'Keychain' on 'macOS', and 'Credential Manager' on 'Windows'. See the 'keyring' package if you need a portable 'API'.
Last updated
4.45 score 5 stars 7 scripts 3.8k downloadsdevoid - A Graphic Device that Does Nothing
Provides a non-drawing graphic device for benchmarking purpose. In order to properly benchmark graphic drawing code it is necessary to factor out the device implementation itself so that results are not related to the specific graphics device used during benchmarking. The 'devoid' package implements a graphic device that accepts all the required calls from R's graphic engine but performs no action. Apart from benchmarking it is unlikely that this device has any practical use.
Last updated
graphics
4.30 score 22 stars 18 scripts 288 downloadsghapps - Authenticate as a 'GitHub' App
'GitHub' apps provide a powerful way to manage fine grained programmatic access to specific 'git' repositories, without having to create dummy users, and which are safer than a personal access token for automated tasks. This package extends the 'gh' package to let you authenticate and interact with 'GitHub' <https://docs.github.com/en/rest/overview> in 'R' as an app.
Last updated
4.00 score 20 stars 1 scripts 191 downloads