fastverse_extend {fastverse}R Documentation

Extend the fastverse

Description

Loads additional packages as part of the fastverse. By default only for the session, but extensions can be saved up to reinstallation/updating of the fastverse package.

Usage

fastverse_extend(
  ...,
  topics = NULL,
  install = FALSE,
  permanent = FALSE,
  check.conflicts = !isTRUE(getOption("fastverse.quiet"))
)

Arguments

...

comma-separated package names, quoted or unquoted, or vectors of package names.

topics

integer or character. Short-keys to attach groups of related and packages suggested as extensions to the fastverse (not case sensitive if character). Unavailable packages are skipped unless install = TRUE.

  1. "TS": Time Series. Attaches xts, zoo and roll.

  2. "DT": Dates and Times. Attaches lubridate, anytime, fasttime, nanotime, clock, and timechange.

  3. "ST": Strings. Attaches stringr, stringi, snakecase, stringfish and stringdist.

  4. "SC": Statistics and Computing. Attaches Rfast, Rfast2, parallelDist, coop, MatrixExtra, rsparse, rrapply, dqrng, fastmap and fastmatch.

  5. "SP": Spatial. Attaches sf, geos, stars and terra.

  6. "VI": Visualization. Attaches dygraphs, ggplot2, scales, lattice and grid.

  7. "TV": Tidyverse-Like. Attaches tidytable, tidyfast, tidyfst, tidyft and maditr.

  8. "IO": Input-Output. Attaches qs and arrow.

install

logical. Install packages not available?

permanent

logical. Should packages be saved and included when library(fastverse) is called next time? Implemented via a config file saved to the package directory. The file will be removed if the fastverse is reinstalled, and can be removed without reinstallation using fastverse_reset. Packages can be removed from the config file using fastverse_detach(..., permanent = TRUE).

check.conflicts

logical. Should conflicts between extension packages and attached packages be checked?

Details

The fastverse can be extended using a free choice of packages, packages listed under topics, or a combination of both. If install = FALSE, only packages among the topics groups that are available are considered, others are disregarded.

When the fastverse is extended calling fastverse_extend(...), the packages that are not attached are attached, but conflicts are checked for all specified packages. If permanent = FALSE, an options("fastverse.extend") is set which stores these extension packages, regardless of whether they were already attached or not. When calling fastverse_packages, fastverse_deps, fastverse_conflicts, fastverse_update, fastverse_sitrep or fastverse_detach, these packages are included as part of the fastverse. This is also the case if permanent = TRUE, with the only difference that instead of populating the option, a file is saved to the package directory such that the packages are also loaded (as part of the core fastverse) when calling library(fastverse) in the next session. To extend the fastverse for the current session when it is not yet loaded, users can also set options(fastverse.extend = c(...)), where c(...) is a character vector of package names, before calling library(fastverse).

Value

fastverse_extend returns NULL invisibly.

See Also

fastverse_detach, fastverse

Examples


ex <- getOption("fastverse.extend")
fastverse_extend(xts, stringi)
fastverse_extend(fasttime, topics = "VI")

# Undoing this again
fastverse_detach(setdiff(getOption("fastverse.extend"), ex), session = TRUE)
rm(ex)


[Package fastverse version 0.2.4 Index]