In animovement, we have a minimal dependency policy to keep the package
light and fast to install. However, we rely on several packages for testing
and specific features. These "soft dependencies" can be downloaded at once
using this function, allowing you to fully utilize all of animovement's
functionalities without errors.
Usage
animovement_install_suggested(package = "animovement")
animovement_show_suggested(package = "animovement")Details
To reduce the dependency load, animovement by default will not
download all internally needed packages. It will ask the user to download
them only if they are needed. The current function can help install all
packages that animovement and its ecosystem packages might need.
animovement_show_suggested() is a convenient helper to show the current
list of suggested packages.
This function will check the Suggests field of animovement and all its
imported packages (aniframe, aniread, aniprocess, animetric, anicheck, anivis),
excluding packages only needed for development or documentation workflows
(knitr, rmarkdown, testthat, pak, here, covr, pkgdown, withr, ragg, curl,
readxl, tibble, tinytable), and packages already required by an ecosystem
package, which are installed regardless.
Under WebR, packages are installed with webr::install(), since
utils::install.packages() cannot build Emscripten packages in the browser.
Otherwise, if {pak} is installed then pak::pkg_install() is used, and
failing that utils::install.packages(). Repositories searched are CRAN, the
animovement R-universe and the Bioconductor R-universe – the last of which
is where rhdf5 comes from.
Examples
# download all suggested packages
if (FALSE) {
animovement_install_suggested("animovement")
}
# listing all soft/weak dependencies
animovement_show_suggested()
#>
#> ── Suggested packages for animovement ecosystem ──
#>
#> animovement: circular, signal
#> aniread: arrow, rhdf5, xml2, c3dr
#> aniprocess: signal, stinepack
#> animetric: circular, sf