
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.69 score 942 stars 455 dependents 98k scripts 786k 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
21.10 score 590 stars 18k dependents 14k scripts 2.5M 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
21.08 score 983 stars 4.1k dependents 40k scripts 1.2M 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.36 score 451 stars 9.6k dependents 133k scripts 1.5M downloads
devtools - Tools to Make Developing R Packages Easier
Collection of package development tools.
Last updated
package-creationquarto
20.30 score 2.5k stars 140 dependents 68k scripts 346k 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
20.17 score 729 stars 18k dependents 6.5k scripts 2.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
project
19.83 score 436 stars 730 dependents 160k scripts 191k 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
19.69 score 664 stars 234 dependents 2.7k scripts 286k 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
19.22 score 182 stars 11k dependents 1.6k scripts 1.6M 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
18.99 score 307 stars 16k dependents 112 scripts 2.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
filesystemlibuvlibuv1cpp
18.82 score 386 stars 6.1k dependents 166 scripts 1.9M 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.80 score 181 stars 15k dependents 2.3k scripts 1.8M 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
18.77 score 225 stars 14k dependents 890 scripts 1.7M 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.28 score 272 stars 2.0k dependents 5.6k scripts 391k 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.14 score 130 stars 10k dependents 3.6k scripts 1.2M 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.08 score 776 stars 155 dependents 718 scripts 214k 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
17.95 score 94 stars 9.2k dependents 4.9k 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.83 score 925 stars 348 dependents 6.6k scripts 226k 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
17.40 score 93 stars 17k dependents 182 scripts 2.0M 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
17.27 score 226 stars 2.7k dependents 106 scripts 901k downloadsyaml - Methods to Convert R Data to YAML and Back
Implements the 'libyaml' 'YAML' 1.1 parser and emitter (<https://pyyaml.org/wiki/LibYAML>) for R.
Last updated
yaml
17.14 score 169 stars 6.0k dependents 177 scripts 1.1M 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
17.10 score 150 stars 1.6k dependents 2.6k scripts 625k 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
17.02 score 1.3k stars 35 dependents 1.7k scripts 64k 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
16.65 score 132 stars 9.2k dependents 653 scripts 1.4M 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.56 score 151 stars 3.1k dependents 399 scripts 581k 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
16.45 score 356 stars 120 dependents 8.1k scripts 366k 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
16.26 score 116 stars 193 dependents 661 scripts 443k 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
16.17 score 821 stars 376 dependents 682 scripts 323k 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.13 score 775 stars 73 dependents 1.6k scripts 54k 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.97 score 322 stars 6.5k dependents 1.3k scripts 1.0M downloads
mirai - Minimalist Async Evaluation Framework for R
Evaluates R expressions asynchronously and in parallel, locally or distributed across networks. An official parallel cluster type for R. Built on 'nanonext' and 'NNG', its non-polling, event-driven architecture scales from a laptop to thousands of processes across high-performance computing clusters and cloud platforms. Features FIFO scheduling with task cancellation and bounded queues, promises for reactive programming, 'OpenTelemetry' distributed tracing, and custom serialization for cross-language data types.
Last updated
asyncasynchronous-tasksconcurrencydistributed-computinghigh-performance-computingparallel-computing
15.93 score 345 stars 148 dependents 802 scripts 43k 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.75 score 100 stars 1.1k dependents 1.2k scripts 351k 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.74 score 304 stars 1.4k dependents 539 scripts 1.1M 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
15.66 score 427 stars 16k dependents 18 scripts 1.9M 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
15.61 score 203 stars 256 dependents 5.9k scripts 175k 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
libgit2
15.56 score 162 stars 381 dependents 506 scripts 180k 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
libgit2
15.56 score 162 stars 381 dependents 506 scripts 180k 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.47 score 348 stars 21 dependents 2.6k scripts 164k 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
15.11 score 126 stars 1.2k dependents 484 scripts 788k 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.92 score 61 stars 617 dependents 274 scripts 874k downloadsps - List, Query, Manipulate System Processes
List, query and manipulate all system processes, on 'Windows', 'Linux' and 'macOS'.
Last updated
14.71 score 83 stars 1.8k dependents 82 scripts 1.1M 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.53 score 134 stars 3.8k dependents 836 scripts 752k 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
14.38 score 95 stars 1.3k dependents 12 scripts 662k 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.33 score 80 stars 246 dependents 6.9k scripts 168k 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.29 score 110 stars 467 dependents 611 scripts 116k 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
14.24 score 247 stars 1.7k dependents 7 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
14.23 score 324 stars 5.3k dependents 19 scripts 1.1M 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.20 score 77 stars 942 dependents 157 scripts 825k 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.05 score 254 stars 147 dependents 8.1k scripts 352k 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
13.86 score 30 stars 440 dependents 774 scripts 132k 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
13.79 score 138 stars 5.1k dependents 2 scripts 1.0M downloads
nanonext - Lightweight Toolkit for Messaging, Concurrency and the Web
R binding for NNG (Nanomsg Next Gen), a successor to ZeroMQ. A toolkit for messaging, concurrency and the web. High-performance socket 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 survey. A threaded concurrency framework with intuitive 'aio' objects that resolve automatically upon completion of asynchronous operations, and synchronisation primitives that allow R to wait on events signalled by concurrent threads. A unified HTTP server hosting REST endpoints, WebSocket connections and streaming on a single port, with a built-in HTTP client.
Last updated
concurrencyhttp-clienthttp-serveripc-messagemessaging-libraryrpcsocket-communicationsynchronization-primitivestcp-protocoltlswebsocketmbedtls
13.77 score 84 stars 159 dependents 99 scripts 48k 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
13.67 score 184 stars 523 dependents 46 scripts 696k 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
13.67 score 474 stars 3.5k dependents 22 scripts 710k 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
13.65 score 301 stars 472 dependents 301 scripts 530k 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
13.39 score 92 stars 5.9k dependents 1 scripts 999k 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
13.16 score 13 stars 3.8k dependents 4 scripts 726k downloadsprofvis - Interactive Visualizations for Profiling R Code
Interactive visualizations for profiling R code.
Last updated
13.11 score 314 stars 139 dependents 14 scripts 176k 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.11 score 185 stars 114 dependents 1.3k scripts 23k 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
13.10 score 136 stars 6.5k dependents 2 scripts 1.0M 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
13.09 score 60 stars 12k dependents 3 scripts 1.3M 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
12.99 score 22 stars 4.0k dependents 55 scripts 1.1M 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.97 score 314 stars 63 dependents 916 scripts 52k downloadsrex - Friendly Regular Expressions
A friendly interface for the construction of regular expressions.
Last updated
12.85 score 335 stars 80 dependents 220k 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
12.80 score 42 stars 12k dependents 1 scripts 1.4M 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
12.70 score 66 stars 6.2k dependents 1.0M 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
12.66 score 20 stars 758 dependents 2 scripts 669k 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.60 score 124 stars 152 dependents 153 scripts 140k 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.49 score 90 stars 169 dependents 330 scripts 136k downloadsgh - 'GitHub' 'API'
Minimal client to access the 'GitHub' 'API'.
Last updated
githubgithub-api
12.44 score 232 stars 808 scripts 194k 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
12.40 score 317 stars 133 dependents 29 scripts 58k 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.35 score 59 stars 546 dependents 59 scripts 488k 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
12.29 score 67 stars 3.9k dependents 1 scripts 1.0M 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
12.24 score 102 stars 2.7k dependents 4 scripts 605k 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
12.24 score 102 stars 2.7k dependents 4 scripts 605k 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.17 score 203 stars 86 dependents 872 scripts 17k 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.14 score 27 stars 496 dependents 51 scripts 113k 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
12.14 score 139 stars 166 dependents 96 scripts 260k downloadsbench - High Precision Timing of R Expressions
Tools to accurately benchmark and analyze execution times for R expressions.
Last updated
12.02 score 257 stars 10 dependents 1.7k scripts 21k 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.87 score 148 stars 29 dependents 758 scripts 12k 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
11.82 score 86 stars 40 dependents 526 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
11.75 score 44 stars 1.2k dependents 132 scripts 89k 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
11.75 score 88 stars 5.4k dependents 1 scripts 781k 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
11.14 score 75 stars 396 dependents 2 scripts 153k 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
10.87 score 237 stars 2 dependents 351 scripts 1.8k 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
10.81 score 272 stars 114 dependents 7 scripts 23k 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.63 score 45 stars 147 dependents 23 scripts 135k downloadslog4r - A Fast and Lightweight Logging System for R, Based on 'log4j'
Provides a fast, lightweight, object-oriented approach to logging based on the widely-emulated 'log4j' system and etymology. Loggers write messages to one or more destinations, such as the console, a file, or a remote server, using a format you control. Messages below the chosen severity threshold are discarded cheaply, so logging calls can be left in production code.
Last updated
logging
10.48 score 101 stars 5 dependents 328 scripts 3.4k 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
10.46 score 74 stars 59 dependents 2 scripts 28k 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
10.46 score 74 stars 59 dependents 2 scripts 28k 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/webcrypto/#jose>, and used by services like OAuth 2.0, LetsEncrypt, and Github Apps.
Last updated
10.43 score 54 stars 56 dependents 2 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
10.35 score 46 stars 197 dependents 328k 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
10.23 score 30 stars 6 dependents 378 scripts 7.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
10.13 score 135 stars 4 dependents 87 scripts 4.8k 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
10.08 score 98 stars 7 dependents 243 scripts 5.4k 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
9.96 score 167 stars 13 dependents 235 scripts 627 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
9.70 score 197 stars 5 dependents 3 scripts 76k 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
9.62 score 104 stars 4 dependents 9 scripts 61k 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.07 score 70 stars 9 dependents 280 scripts 11k downloadsxopen - Open System Files, 'URLs', Anything
Cross platform solution to open files, directories or 'URLs' with their associated programs.
Last updated
9.00 score 34 stars 151 dependents 130k 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
8.87 score 24 stars 40 dependents 74k downloadsrdtools - Efficient Manipulation of 'Rd' Files and Help Topics
Provides fast, cached lookup of help topics and aliases across installed, source, and in-development packages, plus efficient retrieval of parsed 'Rd' ('R' documentation) objects. Per-package indexes are built once and cached, making repeated retrieval cheap enough to call in a tight loop.
Last updated
8.83 score 5 stars 231 dependents 197k 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
8.39 score 38 stars 17 dependents 2 scripts 32k 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.37 score 155 stars 8 dependents 2.5k 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.34 score 145 stars 4 dependents 140 scripts 759 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.29 score 20 stars 30 dependents 47 scripts 11k 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 call an R function, upon every change event.
Last updated
filesystem-eventscpp
7.99 score 40 stars 16 dependents 13 scripts 7.1k 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
7.96 score 62 stars 1 dependents 27k 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.68 score 106 stars 4 dependents 16 scripts 3.4k 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
7.66 score 104 stars 2 dependents 244 scripts 2.0k downloadsdebugme - Debug R Packages
Specify debug messages as special string constants, and control debugging of packages via environment variables.
Last updated
debugging-tool
7.56 score 153 stars 5 dependents 1 scripts 6.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
7.43 score 84 stars 23 dependents 9.4k downloads
mori - Shared Memory for R Objects
Share R objects across processes on the same machine via a single copy in 'POSIX' shared memory (Linux, macOS) or a 'Win32' file mapping (Windows). Every process reads from the same physical pages through the R Alternative Representation ('ALTREP') framework, giving lazy, zero-copy access. Shared objects serialize compactly as their shared memory name rather than their full contents.
Last updated
shared-memory
7.35 score 148 stars 2 dependents 16 scripts 1.8k downloadsroxygen2md - 'Roxygen' to 'Markdown'
Converts elements of 'roxygen' documentation to 'markdown'.
Last updated
documentationmarkdown
7.31 score 69 stars 2 dependents 13 scripts 348 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.76 score 245 stars 1 scripts 3.4k 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
6.48 score 18 stars 12 scripts 18k 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
6.08 score 61 stars 396 scripts 871 downloadsdiffviewer - HTML Widget to Show File Differences
A HTML widget that shows differences between files (text, images, and data frames).
Last updated
diffhtmlwidgets
5.89 score 66 stars 7.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.72 score 58 stars 1 dependents 491 downloads
debrief - Text-Based Summaries for 'profvis' Profiling Data
Provides text-based summaries and analysis tools for 'profvis' profiling output. Designed for terminal workflows and artificial intelligence (AI) agent consumption, offering views including hotspot analysis, call trees, source context, caller/callee relationships, and memory allocation breakdowns.
Last updated
5.65 score 18 stars 7 scripts 342 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
5.64 score 147 stars 4 scripts 453 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
5.57 score 3 stars 1 dependents 5 scripts 14k 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.40 score 21 stars 1 dependents 649 downloadstsitter - Tree-Sitter Parsing Tools
Common tree-sitter parsing tools for R. It is meant to be used by other packages that specialize in particular languages and file formats.
Last updated
5.23 score 6 stars 35 scripts 292 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
4.89 score 26 stars 2 dependents 4 scripts 727 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
4.79 score 8 stars 2 dependents 2.6k downloadstoml - Read, Write, and Modify TOML Files
Simple toolkit for working with TOML text. Based on tomledit which allows for modifying TOML while preserving order, comments,and whitespace.
Last updated
4.13 score 4 stars 9 scripts 1.1k downloadszstd - Zstandard Compression
Compress and decompress data with the 'Zstandard' algorithm <https://facebook.github.io/zstd/>, a fast lossless compression format. Works on raw vectors in memory and on files, and can create and extract 'zstd' compressed 'tar' archives. Supports compression levels, multithreaded compression, long distance matching, content checksums, and training dictionaries for better compression of small, similar inputs.
Last updated
libzstd
4.06 score 57 scripts 162 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.00 score 7 stars 1.4k 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 364 downloads