Skip to content
@extendr

extendr

Extension libraries for R in Rust

extendr

🚀 Blazingly Fast & User-friendly R extensions using Rust 🦀

extendr brings the performance, safety, and reliability of Rust to R. Write fast and scalable R packages without worrying about R's C API.

Documentation & Resources

Key Repositories

Repository Description
extendr 🦀 extendr's source code
rextendr 📦 Create and manage your Rust-based R packages
awesome-extendr ⭐ Curated list of extendr packages
extendr.github.io 📚 Documentation website source

Community

  • Discord: Join our community discussions 💬 (Discord invite)
  • Issues: Report bugs and request features in individual repositories 🐛
  • Contributions: See CONTRIBUTING.md in each repository 🤝

Core Components

Rust workspace 🦀 with battle-tested crates:

  • extendr-api - ergonomic, opinionated, and safe interface between R and Rust
  • extendr-engine - launch R sessions from Rust
  • extendr-ffi - hand-crafted bindings to R's C-API

R package 📦 for seamless development:

  • rextendr - a {usethis}-like package that scaffolds extendr-powered R packages

Getting Started

Prerequisites

  • R (≥ 4.2)
  • cargo and rustc (≥ 1.65) - install via rustup

Get Started

We recommend using the development version of {rextendr} from GitHub.

# Install from CRAN
install.packages("rextendr")

# Development version
remotes::install_github("extendr/rextendr")

usethis::create_package("helloextendr")
rextendr::use_extendr()
rextendr::document()

hello_world()
#> [1] "Hello, world!"

Pinned Loading

  1. extendr extendr Public

    R extension library for rust designed to be familiar to R users.

    Rust 485 50

  2. rextendr rextendr Public

    An R package that helps scaffolding extendr-enabled packages or compiling Rust code dynamically

    R 224 30

  3. libR-sys libR-sys Public

    Low level R bindgen interface

    Rust 55 24

Repositories

Showing 10 of 20 repositories

Top languages

Loading…

Most used topics

Loading…