Awesome extendr

A curated list of R packages that use extendr.

Sort by: | |

a5R

'A5' Discrete Global Grid System

Bindings for the "A5 geospatial index" <https://a5geo.org/>. 'A5' partitions the Earth's surface into pentagonal cells across 31 resolution levels using an equal-area projection onto a dodecahedron. Provides functions for indexing coordinates to cells, traversing the cell hierarchy, computing cell boundaries, and compacting/uncompacting cell sets. Powered by the 'A5' 'Rust' crate via 'extendr'.

Hugh Graham Downloads: 1448

arcgis

ArcGIS Location Services Meta-Package

Provides easy installation and loading of core ArcGIS location services packages 'arcgislayers', 'arcgisutils', 'arcgisgeocode', and 'arcgisplaces'. Enabling developers to interact with spatial data and services from 'ArcGIS Online', 'ArcGIS Enterprise', and 'ArcGIS Platform'. Learn more about the 'arcgis' meta-package at <https://developers.arcgis.com/r-bridge/>.

Josiah Parry Downloads: 13650

arcgisgeocode

A Robust Interface to ArcGIS 'Geocoding Services'

A very fast and robust interface to ArcGIS 'Geocoding Services'. Provides capabilities for reverse geocoding, finding address candidates, character-by-character search autosuggestion, and batch geocoding. The public 'ArcGIS World Geocoder' is accessible for free use via 'arcgisgeocode' for all services except batch geocoding. 'arcgisgeocode' also integrates with 'arcgisutils' to provide access to custom locators or private 'ArcGIS World Geocoder' hosted on 'ArcGIS Enterprise'. Learn more in the 'Geocode service' API reference <https://developers.arcgis.com/rest/geocode/api-reference/overview-world-geocoding-service.htm>.

Josiah Parry Downloads: 12905

arcgisplaces

Search for POIs using ArcGIS 'Places Service'

The ArcGIS 'Places service' is a ready-to-use location service that can search for businesses and geographic locations around the world. It allows you to find, locate, and discover detailed information about each place. Query for places near a point, within a bounding box, filter based on categories, or provide search text. 'arcgisplaces' integrates with 'sf' for out of the box compatibility with other spatial libraries. Learn more in the 'Places service' API reference <https://developers.arcgis.com/rest/places/>.

Josiah Parry Downloads: 193022

arcgisutils

R-ArcGIS Bridge Utility Functions

Developer oriented utility functions designed to be used as the building blocks of R packages that work with ArcGIS Location Services. It provides functionality for authorization, Esri JSON construction and parsing, as well as other utilities pertaining to geometry and Esri type conversions. To support 'ArcGIS Pro' users, authorization can be done via 'arcgisbinding'. Installation instructions for 'arcgisbinding' can be found at <https://developers.arcgis.com/r-bridge/installation/>.

Josiah Parry Downloads: 30221

arcpbf

Process ArcGIS Protocol Buffer FeatureCollections

Fast processing of ArcGIS FeatureCollection protocol buffers in R. It is designed to work seamlessly with 'httr2' and integrates with 'sf'.

Josiah Parry Downloads: 22284

astgrepr

Parse and Manipulate R Code

Parsing R code is key to build tools such as linters and stylers. This package provides a binding to the 'Rust' crate 'ast-grep' so that one can parse and explore R code.

Etienne Bacher Downloads: 4462

awdb

Query the USDA NWCC Air and Water Database REST API

Query the four endpoints of the 'Air and Water Database (AWDB) REST API' maintained by the National Water and Climate Center (NWCC) at the United States Department of Agriculture (USDA). Endpoints include data, forecast, reference-data, and metadata. The package is extremely light weight, with 'Rust' via 'extendr' doing most of the heavy lifting to deserialize and flatten deeply nested 'JSON' responses. The AWDB can be found at <https://wcc.sc.egov.usda.gov/awdbRestApi/swagger-ui/index.html>.

Kenneth Blake Vernon Downloads: 5968

b32

Fast and Vectorized Base32 Encoding

Fast, dependency free, and vectorized base32 encoding and decoding. 'b32' supports the Crockford, Z, RFC 4648 lower, hex, and lower hex alphabets.

Josiah Parry Downloads: 881

b64

Fast and Vectorized Base 64 Engine

Provides a fast, lightweight, and vectorized base 64 engine to encode and decode character and raw vectors as well as files stored on disk. Common base 64 alphabets are supported out of the box including the standard, URL-safe, bcrypt, crypt, 'BinHex', and IMAP-modified UTF-7 alphabets. Custom engines can be created to support unique base 64 encoding and decoding needs.

Josiah Parry Downloads: 43111

caugi

Causal Graph Interface

Create, query, and modify causal graphs. 'caugi' (Causal Graph Interface) is a causality-first, high performance graph package that provides a simple interface to build, structure, and examine causal relationships.

Frederik Fabricius-Bjerre Downloads: 8879

ciflyr

Reachability-Based Primitives for Graphical Causal Inference

Provides a framework for specifying and running flexible linear-time reachability-based algorithms for graphical causal inference. Rule tables are used to encode and customize the reachability algorithm to typical causal and probabilistic reasoning tasks such as finding d-connected nodes or more advanced applications. For more information, see Wienöbst, Weichwald and Henckel (2025) <doi:10.48550/arXiv.2506.15758>.

Marcel Wienöbst Downloads: 1866

datefixR

Standardize Dates in Different Formats or with Missing Data

There are many different formats dates are commonly represented with: the order of day, month, or year can differ, different separators ("-", "/", or whitespace) can be used, months can be numerical, names, or abbreviations and year given as two digits or four. 'datefixR' takes dates in all these different formats and converts them to R's built-in date class. If 'datefixR' cannot standardize a date, such as because it is too malformed, then the user is told which date cannot be standardized and the corresponding ID for the row. 'datefixR' also allows the imputation of missing days and months with user-controlled behavior.

Nathan Constantine-Cooke Downloads: 20154

enderecobr

Padronizador de Endereços Brasileiros (Brazilian Addresses Standardizer)

Padroniza endereços brasileiros a partir de diferentes critérios. Os métodos de padronização incluem apenas manipulações básicas de strings, não oferecendo suporte a correspondências probabilísticas entre strings. (Standardizes brazilian addresses using different criteria. Standardization methods include only basic string manipulation, not supporting probabilistic matches between strings.)

Daniel Herszenhut Downloads: 70366

fastgeojson

High-Performance 'GeoJSON' and 'JSON' Serialization

Converts R data frames and 'sf' spatial objects into 'JSON' and 'GeoJSON' strings. The core encoders are implemented in 'Rust' using the 'extendr' framework and are designed to efficiently serialize large tabular and spatial datasets. Returns serialized 'JSON' text, allowing applications such as 'shiny' or web APIs to transfer data to client-side 'JavaScript' libraries without additional encoding overhead.

Alex Jorion Downloads: 1006

fcl

A Financial Calculator

A financial calculator that provides very fast implementations of common financial indicators using 'Rust' code. It includes functions for bond-related indicators, such as yield to maturity ('YTM'), modified duration, and Macaulay duration, as well as functions for calculating time-weighted and money-weighted rates of return (using 'Modified Dietz' method) for multiple portfolios, given their market values and profit and loss ('PnL') data. 'fcl' is designed to be efficient and accurate for financial analysis and computation. The methods used in this package are based on the following references: <https://en.wikipedia.org/wiki/Modified_Dietz_method>, <https://en.wikipedia.org/wiki/Time-weighted_return>.

Xianying Tan Downloads: 351606

fio

Friendly Input-Output Analysis

Simplifies the process of economic input-output analysis by combining user-friendly interfaces with high-performance computation. It provides tools for analyzing both single-region and multi-regional economic systems through a hybrid architecture that pairs R's accessibility with Rust's computational efficiency.

Alberson da Silva Miranda Downloads: 194006

fozziejoin

Utilities for Joining Dataframes with Inexact Matching

Provides functions for joining data frames based on inexact criteria, including string distance, Manhattan distance, Euclidean distance, and interval overlap. This API is designed as a modern, performance-oriented alternative to the 'fuzzyjoin' package (Robinson 2026) <doi:10.32614/CRAN.package.fuzzyjoin>. String distance functions utilizing 'q-grams' are adapted with permission from the 'textdistance' 'Rust' crate (Orsinium 2024) <https://docs.rs/textdistance/latest/textdistance/>. Other string distance calculations rely on the 'rapidfuzz' 'Rust' crate (Bachmann 2023) <https://docs.rs/rapidfuzz/0.5.0/rapidfuzz/>. Interval joins are backed by a Adelson-Velsky and Landis tree as implemented by the 'interavl' 'Rust' crate <https://docs.rs/interavl/0.5.0/interavl/>.

Jon Downs Downloads: 661

freestiler

Create Vector Tiles from Spatial Data

Create vector tile archives in 'PMTiles' format from 'sf' spatial data frames. Supports 'Mapbox Vector Tile' ('MVT') and 'MapLibre Tile' ('MLT') output formats. Uses a 'Rust' backend via 'extendr' for fast, in-memory tiling with zero external system dependencies.

Kyle Walker Downloads: 408

gadjid

Graph Adjustment Identification Distances for Causal Graphs

Make efficient Rust implementations of graph adjustment identification distances available in R. These distances (based on ancestor, optimal, and parent adjustment) count how often the respective adjustment identification strategy leads to causal inferences that are incorrect relative to a ground-truth graph when applied to a candidate graph instead. See also Henckel, Würtzen, Weichwald (2024) <doi:10.48550/arXiv.2402.08616>.

Sebastian Weichwald Downloads: 1422

geodensity

Geodesic Kernel Density Estimation for Spatial Data

Compute kernel density estimates on geographic data using geodesic distances. Combines the terra package's efficient raster processing with a parallelized Rust backend to deliver scalable, accurate density estimation for large geospatial datasets without.

Andrew Brown Downloads: NA

h3o

H3 Geospatial Indexing System

A dependency free interface to the H3 geospatial indexing system utilizing the Rust library 'h3o' <https://github.com/HydroniumLabs/h3o> via the 'extendr' library <https://github.com/extendr/extendr>.

Josiah Parry Downloads: 4521

heck

Highly Performant String Case Converter

Provides a case conversion between common cases like CamelCase and snake_case. Using the 'rust crate heck' <https://github.com/withoutboats/heck> as the backend for a highly performant case conversion for 'R'.

Josiah Parry Downloads: 9596

llmjson

Repair Malformed JSON Strings

Repairs malformed JSON strings, particularly those generated by Large Language Models. Handles missing quotes, trailing commas, unquoted keys, and other common JSON syntax errors.

Dyfan Jones Downloads: 1078

orbweaver

Fast and Efficient Graph Data Structures

Seamlessly build and manipulate graph structures, leveraging its high-performance methods for filtering, joining, and mutating data. Ensures that mutations and changes to the graph are performed in place, streamlining your workflow for optimal productivity.

ixpantia, SRL Downloads: 8221

Pmetrics

Pmetrics for Population Modeling and Simulation

Pmetrics is short for pharmacometrics, the discipline of modeling drug kinetics and effects on biologic systems, including disease progression. Models can be used to simulate novel therapeutic dosing regimens and/or populations, informing trial design and dosing strategies. The package supports primarily non-parametric but also parametric pharmacometric modeling and simulation with functions to run and analyze the output from all three components of the Pmetrics software suite for population pharmacometric data analysis: 1) IT2B (Iterative Two-Stage Bayesian) for parametric models; 2) NPAG (Non-parametric Adaptive Grid) for non-paramametric models; 3) Simulator for semi-parametric Monte-Carlo simulations.

Michael Neely Downloads: NA

rbm25

A Light Wrapper Around the 'BM25' 'Rust' Crate for Okapi BM25 Text Search

BM25 is a ranking function used by search engines to rank matching documents according to their relevance to a user's search query. This package provides a light wrapper around the 'BM25' 'rust' crate for Okapi BM25 text search. For more information, see Robertson et al. (1994) <https://trec.nist.gov/pubs/trec3/t3_proceedings.html>.

David Zimmermann-Kollenda Downloads: 2897

roxigraph

'RDF' and 'SPARQL' for R using 'Oxigraph'

Provides 'RDF' storage and 'SPARQL' 1.1 query capabilities by wrapping the 'Oxigraph' graph database library <https://github.com/oxigraph/oxigraph>. Supports in-memory and persistent ('RocksDB') storage, multiple 'RDF' serialization formats ('Turtle', 'N-Triples', 'RDF-XML', 'N-Quads', 'TriG'), and full 'SPARQL' 1.1 Query and Update support. Built using the 'extendr' framework for 'Rust'-R bindings.

Carl Boettiger Downloads: 878

RPesto

Phylogenetic Estimation of Shifts in the Tempo of Origination

Implements diversification analyses using the phylogenetic birth-death-shift model. It leverages belief propagation techniques to calculate branch-specific diversification rates, see Kopperud & Hoehna (2025) <doi:10.1093/sysbio/syaf041>.

Bjørn Tore Kopperud Downloads: 907

rshift

Paleoecology Functions for Regime Shift Analysis

Contains a variety of functions, based around regime shift analysis of paleoecological data. Citations: Rodionov() from Rodionov (2004) <doi:10.1029/2004GL019448> Lanzante() from Lanzante (1996) <doi:10.1002/(SICI)1097-0088(199611)16:11%3C1197::AID-JOC89%3E3.0.CO;2-L> Hellinger_trans from Numerical Ecology, Legendre & Legendre (ISBN 9780444538680) rolling_autoc from Liu, Gao & Wang (2018) <doi:10.1016/j.scitotenv.2018.06.276> Sample data sets lake_data & lake_RSI processed from Bush, Silman & Urrego (2004) <doi:10.1126/science.1090795> Sample data set January_PDO from NOAA: <https://www.ncei.noaa.gov/access/monitoring/pdo/>.

Alex H. Room Downloads: 204363

rtiktoken

A Byte-Pair-Encoding (BPE) Tokenizer for OpenAI's Large Language Models

A thin wrapper around the tiktoken-rs crate, allowing to encode text into Byte-Pair-Encoding (BPE) tokens and decode tokens back to text. This is useful to understand how Large Language Models (LLMs) perceive text.

David Zimmermann-Kollenda Downloads: 5119

socratadata

Explore Socrata Data with Ease

Provides an interface to search, read, query, and retrieve metadata for datasets hosted on 'Socrata' open data portals. Supports all 'Socrata' data types, including spatial data returned as 'sf' objects.

Ryan Zomorrodi Downloads: 1949

spopt

Spatial Optimization for Regionalization, Facility Location, and Market Analysis

Implements spatial optimization algorithms across several problem families including contiguity-constrained regionalization, discrete facility location, market share analysis, and least-cost corridor and route optimization over raster cost surfaces. Facility location problems also accept user-supplied network travel-time matrices. Uses a 'Rust' backend via 'extendr' for graph and routing algorithms, and the 'HiGHS' solver via the 'highs' package for facility location mixed-integer programs. Method-level references are provided in the documentation of the individual functions.

Kyle Walker Downloads: 421

SQLFormatteR

Format SQL Queries

A convenient interface for formatting 'SQL' queries directly within 'R'. It acts as a wrapper around the 'sql_format' Rust crate. The package allows you to format 'SQL' code with customizable options, including indentation, case formatting, and more, ensuring your 'SQL' queries are clean, readable, and consistent.

Morgan Durand Downloads: 2962

tergo

Style Your Code Fast

Provides a set of functions that allow users for styling their R code according to the 'tidyverse' style guide. The package uses a native Rust implementation to ensure the highest performance. Learn more about 'tergo' at <https://rtergo.pagacz.io>.

Konrad Pagacz Downloads: 3157

tinyimg

Optimize and Compress Images

Optimize and compress images using 'Rust' libraries to reduce file sizes while maintaining image quality. Supports PNG palette reduction and dithering via the 'exoquant' crate before lossless PNG optimization via the 'oxipng' crate, and JPEG re-encoding via the 'mozjpeg' crate. The package provides functions to optimize individual image files or entire directories, with configurable compression levels. Use tinyimg() as a convenient entry point for mixed PNG/JPEG workflows.

Yihui Xie Downloads: 1290

tok

Fast Text Tokenization

Interfaces with the 'Hugging Face' tokenizers library to provide implementations of today's most used tokenizers such as the 'Byte-Pair Encoding' algorithm <https://huggingface.co/docs/tokenizers/index>. It's extremely fast for both training new vocabularies and tokenizing texts.

Tomasz Kalinowski Downloads: 152901

tomledit

Parse, Read, and Edit 'TOML'

A toolkit for working with 'TOML' files in R while preserving formatting, comments, and structure. 'tomledit' enables serialization of R objects such as lists, data.frames, numeric, logical, and date vectors.

Josiah Parry Downloads: 9221

unsum

Reconstruct Raw Data from Summary Statistics

Reconstructs all possible raw data that could have led to reported summary statistics. Provides a wrapper for the 'Rust' implementation of the 'CLOSURE' algorithm.

Lukas Jung Downloads: 1726

uuidx

Modern UUIDs for R with a Rust Backend

Generate, parse, and validate RFC 9562 UUIDs from R using the Rust 'uuid' crate via 'extendr'. Developed by Thomas Bryce Kelly at Icy Seas Co-Laboratory LLC. Version 7 UUIDs are the default for new identifiers, while versions 4, 5, 6, and legacy version 1 are also supported. Functions return character vectors by default and can also expose 16-byte raw representations for low-level workflows.

Thomas Bryce Kelly Downloads: 473

waysign

Multi-Purpose and High-Performance Routing

Provides routing based on the 'path-tree' 'Rust' crate. The routing is general purpose in the sense that any type of R object can be associated with a path, not just a handler function.

Thomas Lin Pedersen Downloads: 3784

xactonomial

Inference for Functions of Multinomial Parameters

We consider the problem where we observe k vectors (possibly of different lengths), each representing an independent multinomial random vector. For a given function that takes in the concatenated vector of multinomial probabilities and outputs a real number, this is a Monte Carlo estimation procedure of an exact p-value and confidence interval. The resulting inference is valid even in small samples, when the parameter is on the boundary, and when the function is not differentiable at the parameter value, all situations where asymptotic methods and the bootstrap would fail. For more details see Sachs, Fay, and Gabriel (2025) <doi:10.48550/arXiv.2406.19141>.

Michael C Sachs Downloads: 1963

yaml12

Fast 'YAML' 1.2 Parser and Formatter

A fast, correct, safe, and ergonomic 'YAML' 1.2 parser and generator written in 'Rust'. Convert between 'YAML' and simple 'R' objects with full support for multi-document streams, tags, anchors, and aliases. Offers opt-in handlers for custom tag behavior and round-trips common 'R' data structures. Implements the 'YAML' 1.2.2 specification from the 'YAML' Language Development Team (2021) <https://yaml.org/spec/1.2.2/>. Proudly supported by Posit.

Tomasz Kalinowski Downloads: 2854

ymd

Parse 'YMD' Format Number or String to Date

Convert 'YMD' format number or string to Date efficiently, using Rust's standard library. It also provides helper functions to handle Date, e.g., quick finding the beginning or end of the given period, adding months to Date, etc.

Xianying Tan Downloads: 9730

zoomerjoin

Superlatively Fast Fuzzy Joins

Empowers users to fuzzily-merge data frames with millions or tens of millions of rows in minutes with low memory usage. The package uses the locality sensitive hashing algorithms developed by Datar, Immorlica, Indyk and Mirrokni (2004) <doi:10.1145/997817.997857>, and Broder (1998) <doi:10.1109/SEQUEN.1997.666900> to avoid having to compare every pair of records in each dataset, resulting in fuzzy-merges that finish in linear time.

Beniamino Green Downloads: 7268