
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 25 days ago
unit-testingcpp
20.97 score 900 stars 465 dependents 74k scripts 467k 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 1 years ago
apicurlhttp
20.56 score 989 stars 4.3k dependents 29k scripts 990k 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 28 days ago
20.53 score 517 stars 15k dependents 9.8k scripts 1.8M 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 5 months ago
filesystemlibuvcpp
20.26 score 370 stars 5.2k dependents 8.1k 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 5 months ago
ggplot2
19.88 score 419 stars 7.9k dependents 88k scripts 1.1M 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 9 days ago
project
19.62 score 417 stars 607 dependents 96k scripts 369k downloads
devtools - Tools to Make Developing R Packages Easier
Collection of package development tools.
Last updated 6 months ago
package-creation
19.55 score 2.4k stars 150 dependents 51k scripts 322k 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 8 days ago
cli
19.34 score 664 stars 14k dependents 1.4k scripts 1.8M 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 5 months ago
s3-vectors
18.97 score 290 stars 13k dependents 1.1k scripts 1.4M 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 12 days ago
libxml2xmlcpp
18.52 score 220 stars 2.3k dependents 6.3k scripts 896k 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 8 months ago
devtoolsdocumentationcpp
18.51 score 606 stars 219 dependents 2.3k scripts 178k 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 6 days ago
documentation-tool
18.46 score 734 stars 162 dependents 588 scripts 170k 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 4 months ago
18.31 score 130 stars 8.2k dependents 1.9k scripts 1.1M 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 6 days ago
colour
18.28 score 179 stars 11k dependents 233 scripts 1.4M 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 5 months ago
18.12 score 92 stars 7.6k dependents 4.1k scripts 1.0M 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 28 days ago
17.92 score 176 stars 12k dependents 1.2k scripts 1.3M 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 13 days ago
17.87 score 419 stars 14k dependents 1.7k scripts 1.4M 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 21 days ago
cppcpp11
17.69 score 212 stars 8.6k dependents 104 scripts 1.0M 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 10 hours ago
http
17.64 score 246 stars 1.1k dependents 1.9k scripts 371k 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 20 days ago
githubsetup
17.54 score 869 stars 336 dependents 5.6k scripts 188k 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 28 days ago
17.30 score 341 stars 248 dependents 5.8k scripts 469k 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 3 days ago
linter
16.99 score 1.2k stars 33 dependents 916 scripts 125k 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 1 months ago
16.70 score 150 stars 1.4k dependents 1.4k scripts 652k 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 6 months ago
16.61 score 324 stars 6.0k dependents 1.5k scripts 1.0M 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 2 months ago
evaluationparsingrepl
16.20 score 135 stars 4.5k dependents 183 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 1 months ago
pretty-print
16.15 score 754 stars 62 dependents 940 scripts 45k 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 2 months ago
cpp
15.86 score 143 stars 2.6k dependents 234 scripts 618k 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 1 months ago
15.86 score 93 stars 14k dependents 54 scripts 1.6M 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 5 months ago
15.72 score 470 stars 3.0k dependents 2.1k scripts 824k 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 1 years ago
memoise
15.67 score 319 stars 5.3k dependents 824 scripts 921k downloadsprofvis - Interactive Visualizations for Profiling R Code
Interactive visualizations for profiling R code.
Last updated 6 months ago
15.64 score 310 stars 153 dependents 1.3k scripts 160k downloadssystemfonts - 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 2 months ago
fontsfontconfigfreetypecpp
15.62 score 95 stars 990 dependents 384 scripts 800k 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 5 months ago
svglibpngcpp
15.57 score 181 stars 228 dependents 4.7k scripts 126k downloadsgh - 'GitHub' 'API'
Minimal client to access the 'GitHub' 'API'.
Last updated 2 months ago
githubgithub-api
15.55 score 224 stars 401 dependents 444 scripts 321k 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 1 months ago
15.52 score 236 stars 1.4k dependents 340 scripts 850k 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 2 months ago
15.37 score 86 stars 888 dependents 924 scripts 451k 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 2 months ago
codecovcoveragecoverage-reporttravis-ci
15.25 score 337 stars 9 dependents 2.3k scripts 192k 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 1 months ago
15.24 score 300 stars 1.2k dependents 289 scripts 814k 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 7 days ago
drawinggraphicsvector-graphicsfreetypelibpngtifflibjpeg-turbocpp
15.18 score 175 stars 485 dependents 1.8k scripts 907k 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 14 days ago
15.15 score 12 stars 3.2k dependents 131 scripts 856k downloadsps - List, Query, Manipulate System Processes
List, query and manipulate all system processes, on 'Windows', 'Linux' and 'macOS'.
Last updated 25 days ago
15.09 score 79 stars 1.5k dependents 108 scripts 876k 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 2 years ago
cpp
15.01 score 132 stars 7.6k dependents 75 scripts 912k downloadsbit64 - A S3 Class for Vectors of 64bit Integers
Package 'bit64' provides serializable S3 atomic 64bit (signed) integers. These are useful for handling database keys and exact counting in +-2^63. WARNING: do not use them as replacement for 32bit integers, integer64 are not supported for subscripting by R-core and they have different semantics when combined with double, e.g. integer64 + double => integer64. Class integer64 can be used in vectors, matrices, arrays and data.frames. Methods are available for coercion from and to logicals, integers, doubles, characters and factors as well as many elementwise and summary functions. Many fast algorithmic operations such as 'match' and 'order' support inter- active data exploration and manipulation and optionally leverage caching.
Last updated 12 days ago
14.91 score 35 stars 3.2k dependents 1.5k scripts 887k 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 2 years ago
authenticationgoogle
14.88 score 113 stars 192 dependents 266 scripts 605k 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 9 hours ago
libgit2
14.86 score 154 stars 367 dependents 162 scripts 182k 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 9 hours ago
libgit2
14.85 score 154 stars 367 dependents 158 scripts 182k 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 2 months ago
14.68 score 123 stars 1.1k dependents 409 scripts 465k 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 2 months ago
14.57 score 76 stars 237 dependents 4.3k scripts 373k 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 8 days ago
cpp
14.53 score 106 stars 407 dependents 296 scripts 170k 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 12 days ago
14.17 score 59 stars 591 dependents 112 scripts 427k downloadsrex - Friendly Regular Expressions
A friendly interface for the construction of regular expressions.
Last updated 1 years ago
14.17 score 335 stars 95 dependents 178 scripts 217k 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 1 years ago
conflicts
14.09 score 250 stars 147 dependents 6.0k scripts 533k 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 11 months ago
cpp
14.04 score 134 stars 5.5k dependents 102 scripts 1.1M 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 1 years ago
14.00 score 61 stars 9.8k dependents 131 scripts 944k 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 16 hours ago
13.97 score 66 stars 878 dependents 133 scripts 457k 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 5 months ago
difftesting
13.95 score 291 stars 480 dependents 143 scripts 430k 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 1 months ago
13.92 score 302 stars 99 dependents 848 scripts 60k 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 3 days ago
cmarkcmark-gfmgfmmarkdown
13.69 score 93 stars 2.2k dependents 90 scripts 635k 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 3 days ago
cmarkcmark-gfmgfmmarkdown
13.69 score 93 stars 2.2k dependents 90 scripts 635k 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 10 months ago
13.67 score 59 stars 5.4k dependents 68 scripts 1.0M 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 10 months ago
appdir
13.67 score 86 stars 5.5k dependents 86 scripts 960k 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 2 months ago
harfbuzzfreetypefribidicpp
13.58 score 19 stars 484 dependents 66 scripts 753k 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 8 months ago
13.46 score 133 stars 3.3k dependents 86 scripts 856k 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 7 months ago
credentialscredentials-helpergitgithub
13.31 score 28 stars 407 dependents 372 scripts 322k 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 8 months ago
backports
13.11 score 66 stars 3.3k dependents 174 scripts 571k 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 1 years ago
13.10 score 41 stars 12k dependents 25 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 3 months ago
libsodium
13.08 score 69 stars 104 dependents 175 scripts 134k 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 19 hours ago
13.05 score 717 stars 17 dependents 277 scripts 23k 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 6 months ago
12.90 score 84 stars 5.1k dependents 71 scripts 884k 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 5 years ago
destructuring-assignmentmultiple-assignmentpattern-matchingunpacking-assignment
12.81 score 258 stars 111 dependents 1.9k scripts 26k 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 10 months ago
syntax-highlighting
12.72 score 90 stars 176 dependents 364 scripts 144k 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 3 months ago
libsodium
12.43 score 70 stars 103 dependents 175 scripts 30k 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 6 months ago
gitpasswordssh
12.40 score 72 stars 380 dependents 91 scripts 170k 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 6 months ago
12.34 score 116 stars 158 dependents 102 scripts 164k 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 23 days ago
keyringsecuritylibsecretglib
12.29 score 198 stars 56 dependents 976 scripts 15k 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 1 years ago
cpp
12.15 score 305 stars 95 dependents 732 scripts 45k 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 4 days ago
12.02 score 20 stars 440 dependents 21 scripts 180k 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 8 months ago
12.00 score 56 stars 526 dependents 39 scripts 411k 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 29 days ago
asynccoroutinesgeneratoriteratorpromisesreticulate
11.88 score 166 stars 50 dependents 105 scripts 12k 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 16 hours ago
compressionconnectionslibarchivecpp
11.80 score 144 stars 27 dependents 494 scripts 11k 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 4 years ago
dot-dot-dotellipsis
11.72 score 141 stars 249 dependents 83 scripts 149k 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_mock() facility present in the 'testthat' package.
Last updated 1 years ago
11.57 score 100 stars 5 dependents 504 scripts 98k downloadsbench - High Precision Timing of R Expressions
Tools to accurately benchmark and analyze execution times for R expressions.
Last updated 2 months ago
11.56 score 252 stars 10 dependents 688 scripts 19k 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 1 years ago
11.49 score 230 stars 1 dependents 289 scripts 80k 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 8 days ago
cpp
11.20 score 7 stars 2.4k dependents 38 scripts 808k downloadsrematch2 - Tidy Output from Regular Expression Matching
Wrappers on 'regexpr' and 'gregexpr' to return the match results in tidy data frames.
Last updated 5 months ago
11.05 score 44 stars 180 dependents 33 scripts 574k 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 6 months ago
11.00 score 50 stars 35 dependents 63 scripts 51k 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 5 months ago
logging
10.81 score 95 stars 16 dependents 217 scripts 4.4k 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 5 months ago
ggplot2graphicstestthatlibpngcpp
10.77 score 190 stars 5 dependents 254 scripts 43k 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 3 months ago
dnsis-onlinepingtcpglibc
10.33 score 36 stars 24 dependents 114 scripts 102k 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 8 months ago
10.00 score 47 stars 151 dependents 15 scripts 126k downloadsxopen - Open System Files, 'URLs', Anything
Cross platform solution to open files, directories or 'URLs' with their associated programs.
Last updated 5 months ago
10.00 score 31 stars 161 dependents 40 scripts 167k 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 3 years ago
9.92 score 165 stars 14 dependents 196 scripts 1.0k 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 19 hours ago
9.89 score 115 stars 5 dependents 67 scripts 5.0k 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 8 months ago
9.85 score 43 stars 596 dependents 30 scripts 61k 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 1 months ago
parquetcpp
9.73 score 61 stars 8 dependents 99 scripts 6.8k 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 6 months ago
9.48 score 19 stars 39 dependents 36 scripts 84k 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 5 months ago
xml
9.33 score 24 stars 35 dependents 25 scripts 112k 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 26 days ago
8.85 score 28 stars 6 dependents 31 scripts 6.1k 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 2 months ago
cpp
8.55 score 86 stars 1 dependents 28 scripts 364 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 7 months ago
unconfunconf17
8.25 score 145 stars 4 dependents 119 scripts 700 downloadsdebugme - Debug R Packages
Specify debug messages as special string constants, and control debugging of packages via environment variables.
Last updated 7 months ago
debugging-tool
8.20 score 152 stars 7 dependents 11 scripts 7.5k 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 4 months ago
7.95 score 119 stars 2 dependents 17 scripts 1.3k 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 5 months ago
7.61 score 82 stars 19 dependents 32 scripts 5.4k 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 10 hours ago
7.42 score 62 stars 1 dependents 15 scripts 13k 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 2 years ago
7.42 score 59 stars 3 dependents 169 scripts 5.9k 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 6 months ago
7.30 score 102 stars 4 dependents 9 scripts 3.3k downloadsroxygen2md - 'Roxygen' to 'Markdown'
Converts elements of 'roxygen' documentation to 'markdown'.
Last updated 4 months ago
documentationmarkdown
7.00 score 68 stars 2 dependents 11 scripts 300 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 5 months ago
r6s3s4
6.64 score 105 stars 278 scripts 491 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 6 months ago
6.34 score 232 stars 8 scripts 1.9k 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 2 years ago
cpp
6.22 score 3 stars 1 dependents 62 scripts 9.9k 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 5 months ago
5.91 score 57 stars 1 dependents 19 scripts 625 downloadsdiffviewer - HTML Widget to Show File Differences
A HTML widget that shows differences between files (text, images, and data frames).
Last updated 10 months ago
diffhtmlwidgets
5.64 score 60 stars 14 scripts 3.5k 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 months ago
5.59 score 8 stars 4 dependents 12 scripts 6.8k 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 months ago
5.53 score 19 stars 2 dependents 1 scripts 908 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 11 months ago
5.29 score 62 stars 63 scripts 913 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 1 years ago
cpp
5.28 score 30 stars 1 dependents 14 scripts 278 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 6 months ago
5.01 score 51 stars 2 scripts 198 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 2 years ago
4.93 score 25 stars 2 dependents 4 scripts 1.1k 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 6 months ago
4.48 score 20 stars 1 scripts 271 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 22 days ago
filesystem-eventscpp
4.44 score 11 stars 6 scripts 485 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 2 years ago
graphics
4.25 score 22 stars 16 scripts 227 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 5 months ago
3.49 score 5 stars 7 scripts 1.2k downloads