The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

manifesto

R-CMD-check Codecov test coverage

manifesto provides a lightweight, portable way to declare R project environments using a simple rproject.toml file. It makes setting up and sharing reproducible R projects faster and more reliable. As it is lightweight, it can also be used easily for setting up new R installations or for workshops which require packages.

Unlike most reproducibility-ish packages, this is not focused on being able to run code under a completely specified environment. It is aimed at ensuring the right sets of packages are installed for users and workshops.


What is manifesto?

manifesto introduces a human-readable, TOML-based manifest format for R projects. It captures:

The goal is to simplify project setup across local machines, teams, and workshops, without locking users into heavyweight tools.


Minimal Example

The smallest valid rproject.toml looks like this:

[project]
name = "MyAnalysis"
version = "0.0.1"

[manifesto]
version = "0.1.0"

[environment]
r_version = ">= 4.4.2"

[dependencies]
dplyr = ">= 1.0.0"

Installation

You can install the development version of manifesto like so:

# install.packages('pak')
pak::pak('christopherkenny/manifesto')

Example

For most users, you will only need to use the manifest_install() function. This handles organizing and installing packages dound in the manifest file. By default, this file is called rproject.toml.

Below, we install one of the example manifest files included with the package. Note that for the example, dry_run = TRUE means that no packages will be installed, but details of what would be installed are printed to the console.

library(manifesto)

manifest <- system.file(package = 'manifesto', 'complex.toml')

manifest_install(path = manifest, dry_run = TRUE)
#> 
#> ── Dry run: would install the following 3 packages ──
#> 
#> • dplyr@1.2.0
#> • BiocManager@1.30.27
#> • readr@2.1.4

manifesto can also be used to create a manifest file from a package’s DESCRIPTION file.

manifest <- manifest_from_description(
  system.file(package = 'cli', 'DESCRIPTION')
)
readLines(manifest) |>
  cat(sep = '\n')
#> [manifesto]
#> version = "0.0.1"
#> 
#> [project]
#> name = "cli"
#> version = "3.6.5"
#> authors = [
#>     { name = "Gábor Csárdi", email = "gabor@posit.co", roles = ["aut", "cre"] },
#>     { name = "Hadley Wickham", roles = "ctb" },
#>     { name = "Kirill Müller", roles = "ctb" },
#>     { name = "Salim Brüggemann", email = "salim-b@pm.me", roles = "ctb" },
#>     { name = "Posit Software, PBC", roles = ["cph", "fnd"] }
#> ]
#> 
#> [environment]
#> r_version = ">= 3.4"
#> 
#> [dependencies]
#> utils = "*"
#> 
#> [suggests-dependencies]
#> callr = "*"
#> covr = "*"
#> crayon = "*"
#> digest = "*"
#> glue = ">= 1.6.0"
#> grDevices = "*"
#> htmltools = "*"
#> htmlwidgets = "*"
#> knitr = "*"
#> methods = "*"
#> processx = "*"
#> ps = """
#> >=
#> 1.3.4.9000"""
#> rlang = ">= 1.0.2.9003"
#> rmarkdown = "*"
#> rprojroot = "*"
#> rstudioapi = "*"
#> testthat = ">= 3.2.0"
#> tibble = "*"
#> whoami = "*"
#> withr = "*"

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.