teal.code

Code storage and execution class for teal applications

OTHER License

Downloads
789
Stars
11
Committers
28

teal.code

Overview

teal.code is an R library providing tools to store code and an execution environment associated with it. The features include:

  • the qenv class for tracking code and storing variables that integrates well with shiny reactive expressions for use in shiny applications whose outputs require reproducibility (i.e. the code used in the application can be retrieved and rerun)
  • ability to chain and join qenv objects together to provide fine-grained control over executed code
  • automatic handling of errors and warnings encountered when executed code

Installation

# stable versions
install.packages('teal.code')

Alternatively, you might want to use the development version.

# install.packages("pak")
pak::pak("insightsengineering/teal.code")

Usage

To understand how to use this package, please refer to the Getting Started article, which provides multiple examples of code implementation.

Below is the showcase of the example usage

library(teal.code)
my_qenv <- qenv() |> eval_code("x <- 5")
my_qenv
#> <environment: 0x00000225cc85c7a0> [L]
#> Parent: <environment: package:teal.code>
#> Bindings:
#> • x: <dbl> [L]
get_env(my_qenv)
#> <environment: 0x00000225cc85c7a0>
ls(get_env(my_qenv))
#> [1] "x"
qenv_2 <- eval_code(my_qenv, "y <- x * 2") |> eval_code("z <- y * 2")
qenv_2
#> <environment: 0x00000225ca866d68> [L]
#> Parent: <environment: package:teal.code>
#> Bindings:
#> • x: <dbl> [L]
#> • y: <dbl> [L]
#> • z: <dbl> [L]
get_env(qenv_2)
#> <environment: 0x00000225ca866d68>
ls(get_env(qenv_2))
#> [1] "x" "y" "z"
qenv_2[["y"]]
#> [1] 10
cat(get_code(qenv_2))
#> x <- 5
#> y <- x * 2
#> z <- y * 2

Getting help

If you encounter a bug or have a feature request, please file an issue. For questions, discussions, and updates, use the teal channel in the pharmaverse slack workspace.

Stargazers and Forkers

Stargazers over time

Stargazers

Forkers

Package Rankings
Top 25.83% on Cran.r-project.org
Badges
Extracted from project README
CRAN Version Total Downloads Last Month Downloads Last Week Downloads Check 🛠 Docs 📚 Code Coverage 📔 Project Status: Active – The project has reached a stable, usable state and is being actively developed. Current Version Open Issues Stargazers over time Stargazers repo roster for @insightsengineering/teal.code Forkers repo roster for @insightsengineering/teal.code