https://github.com/extendr/awesome-extendr
A curated list of extendr-powered, rust-based R-packages
https://github.com/extendr/awesome-extendr
List: awesome-extendr
Last synced: 12 months ago
JSON representation
A curated list of extendr-powered, rust-based R-packages
- Host: GitHub
- URL: https://github.com/extendr/awesome-extendr
- Owner: extendr
- License: mit
- Created: 2025-05-18T15:42:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-04T18:11:24.000Z (about 1 year ago)
- Last Synced: 2025-06-22T18:56:45.208Z (12 months ago)
- Size: 33.2 KB
- Stars: 20
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A curated list of extendr-powered R packages
LAST UPDATED: 2025-06-04
The below packages use extendr and are currently published on CRAN.
arcgis: ArcGIS Location Services Meta-Package
-
Author: Josiah Parry -
URL: https://github.com/R-ArcGIS/arcgis/, https://developers.arcgis.com/r-bridge/ -
Description: 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/.
arcgisgeocode: A Robust Interface to ArcGIS 'Geocoding Services'
-
Author: Josiah Parry -
URL: https://github.com/r-arcgis/arcgisgeocode, https://developers.arcgis.com/r-bridge/api-reference/arcgisgeocode -
Description: 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.
arcgisplaces: Search for POIs using ArcGIS 'Places Service'
-
Author: Josiah Parry -
URL: https://github.com/R-ArcGIS/arcgisplaces, https://developers.arcgis.com/r-bridge/api-reference/arcgisplaces/, https://r.esri.com/arcgisplaces/ -
Description: 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/.
arcgisutils: ArcGIS Utility Functions
-
Author: Josiah Parry -
URL: https://github.com/R-ArcGIS/arcgisutils, https://developers.arcgis.com/r-bridge/api-reference/arcgisutils/ -
Description: 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/.
arcpbf: Process ArcGIS Protocol Buffer FeatureCollections
-
Author: Josiah Parry -
URL: https://r.esri.com/arcpbf/, https://github.com/R-ArcGIS/arcpbf -
Description: Fast processing of ArcGIS FeatureCollection protocol buffers in R.
It is designed to work seamlessly with 'httr2' and integrates with 'sf'.
astgrepr: Parse and Manipulate R Code
-
Author: Etienne Bacher -
URL: https://github.com/etiennebacher/astgrepr, https://astgrepr.etiennebacher.com/ -
Description: 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.
awdb: Query the USDA NWCC Air and Water Database REST API
-
Author: Kenneth Blake Vernon -
URL: https://github.com/kbvernon/awdb, https://kbvernon.github.io/awdb/ -
Description: 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.
b64: Fast and Vectorized Base 64 Engine
-
Author: Josiah Parry -
URL: https://extendr.github.io/b64/, https://github.com/extendr/b64 -
Description: 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.
fcl: A Financial Calculator
-
Author: Xianying Tan -
URL: https://github.com/shrektan/fcl, https://shrektan.github.io/fcl/ -
Description: 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.
fio: Friendly Input-Output Analysis
-
Author: Alberson da Silva Miranda -
URL: https://albersonmiranda.github.io/fio/, https://github.com/albersonmiranda/fio -
Description: Simplifies the process of importing and managing input-output
matrices from 'Microsoft Excel' into R, and provides a suite of functions for
analysis. It leverages the 'R6' class for clean, memory-efficient
object-oriented programming. Furthermore, all linear algebra computations are
implemented in 'Rust' to achieve highly optimized performance.
heck: Highly Performant String Case Converter
-
Author: Josiah Parry -
URL: https://github.com/DyfanJones/heck, https://dyfanjones.r-universe.dev/heck -
Description: 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'.
orbweaver: Fast and Efficient Graph Data Structures
-
Author: ixpantia, SRL -
URL: https://github.com/ixpantia/orbweaver-r -
Description: 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.
rbm25: A Light Wrapper Around the 'BM25' 'Rust' Crate for Okapi BM25
Text Search
-
Author: David Zimmermann-Kollenda -
URL: https://davzim.github.io/rbm25/, https://github.com/DavZim/rbm25/ -
Description:
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.
rshift: Paleoecology Functions for Regime Shift Analysis
-
Author: Alex H. Room -
URL: https://github.com/alexhroom/rshift -
Description: 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/.
rtiktoken: A Byte-Pair-Encoding (BPE) Tokenizer for OpenAI's Large Language
Models
-
Author: David Zimmermann-Kollenda -
URL: https://davzim.github.io/rtiktoken/, https://github.com/DavZim/rtiktoken/ -
Description: 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.
SQLFormatteR: Format SQL Queries
-
Author: Morgan Durand -
URL: https://dataupsurge.github.io/SQLFormatteR/, https://github.com/dataupsurge/SQLFormatteR -
Description: 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.
tergo: Style Your Code Fast
-
Author: Konrad Pagacz -
URL: https://rtergo.pagacz.io, https://github.com/kpagacz/tergo -
Description: 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.
tomledit: Parse, Read, and Edit 'TOML'
-
Author: Josiah Parry -
URL: https://extendr.github.io/tomledit/, https://github.com/extendr/tomledit -
Description: 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.
xactonomial: Inference for Functions of Multinomial Parameters
-
Author: Michael C Sachs -
URL: https://sachsmc.github.io/xactonomial/ -
Description: 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.
ymd: Parse 'YMD' Format Number or String to Date
-
Author: Xianying Tan -
URL: https://shrektan.github.io/ymd/, https://github.com/shrektan/ymd -
Description: 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.
zoomerjoin: Superlatively Fast Fuzzy Joins
-
Author: Beniamino Green -
URL: https://beniamino.org/zoomerjoin/, https://github.com/beniaminogreen/zoomerjoin -
Description: 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.