Awesome
Minimal Example of Calling Rust from R
This is a template package to demonstrate how to call Rust from R using the extendr-api crate.
Installation
Before you can install this package, you need to install a working Rust toolchain. We recommend using rustup.
On Windows, you'll also have to add the x86_64-pc-windows-gnu
target:
rustup target add x86_64-pc-windows-gnu
Once Rust is working, you can install this package via:
remotes::install_github("extendr/helloextendr")
After installation, the following should work:
library(helloextendr)
hello_world()
#> [1] "Hello world!"
Development
Install rextendr
You will need rextendr package to generate wrappers. Please install it before proceeding to the next step.
remotes::install_github("extendr/rextendr")
Generate wrappers
When you make either of the following changes to the Rust source code, you'll need to regenerate the wrappers.
- add a new function
- modify the signature of an existing function
- modify the documentation written on Rust code (on the lines starting with
///
)
This can be done by:
rextendr::document()
Which will compile the Rust code as well as updating documentation.
Creating your own project
For a fully worked out demonstration of how to create a Rust + R library see here.