Skip to contents

ami (“am I?”) provides a unified collection of lightweight checks that can be used to better understand the environments in which your code is running. This includes different operating systems, Continuous Integration (CI) environments, containers, and more. Similar or identical functions already exist. However, most of these functions exist within highly specialized packages, so using several of them can quickly create a lot of dependencies for your own projects.

Installation

You can install the latest released version of ami by running:

If you’d like to try out the development version of ami, you can install directly from GitHub:

# install.packages("remotes")
remotes::install_github("briandconnelly/ami")

Some Examples

Am I online?

ami::online()
#> [1] TRUE

Am I using RStudio? Am I using a dark theme?

ami::using_rstudio()
#> [1] FALSE

ami::using_rstudio_dark_theme()
#> [1] FALSE

Am I using macOS and an Intel Mac?

ami::using_macos() && ami::using_x86_cpu()
#> [1] FALSE

Are we running in a Docker container?

ami::using_docker_container()
#> [1] FALSE

Are we using a continuous integration service? GitHub Actions?

ami::using_ci()
#> [1] FALSE

ami::using_github_actions()
#> [1] FALSE

Other environments

ami can be used to check any environment variable. For example, we can see if we’re running in a Poetry environment:

ami::using_envvar("POETRY_ACTIVE")
#> [1] FALSE

We can also check for package options. Here, we’ll see whether boot is configured to do parallel bootstrapping using multiple cores:

ami::using_option("boot.parallel", "multicore")
#> [1] FALSE

If you’re using options as part of package development, check out the options package.