Rapp is a drop-in replacement for Rscript that automatically parses command-line arguments into R values, making it straightforward to build polished CLI applications from simple R scripts. It converts standard R patterns like scalar assignments, NULL assignments, and switch statements into command-line options, positional arguments, and commands without requiring explicit argument parsing libraries.
The package enables seamless transition from interactive REPL development to command-line execution by recognizing R expression patterns at the top level of scripts. It handles option parsing, type coercion, automatic help generation, nested commands with their own options, and repeatable arguments through familiar R syntax. Rapp works cross-platform including Windows, supports distribution via R packages through the exec/ directory, and allows interactive development with Rapp::run() for debugging.
Contributors#
Resources featuring Rapp#
Albert Rapp - Breaking data identities: Making a case for language-agnosticity
Talk by Albert Rapp, https://albert-rapp.de/
HTML and CSS for R Users - posit::conf(2023)
Presented by Albert Rapp
You can get the most out of popular R tools by combining them with easy-to-learn HTML & CSS commands.
It’s easy to think that R users do not need HTML and CSS. After all, R is a language designed for data analysis, right? But the reality is that these web standards are everywhere, even in R. In fact, many great tools like {ggtext}, {gt}, {shiny}, and Quarto unlock their full potential when you know a little bit of HTML & CSS. In this talk, I will demonstrate specific examples where R users can benefit from HTML and CSS and show you how to get started with these two languages.
Materials:
- Here’s the link to the video that I mention in the talk: https://youtu.be/QU8wSya-Y9E?si=zw59OSFPl1eJSY7M
- Part 1 of this two part series can be found at https://www.youtube.com/watch?v=jX4_Dnzhl0M
Presented at Posit Conference, between Sept 19-20 2023, Learn more at posit.co/conference.#
Talk Track: Compelling design for apps and reports. Session Code: TALK-1105