Overview

R-multiverse provides:

  1. A home for packages that fall outside the scope of other repositories such as CRAN and Bioconductor.
  2. Direct and timely distribution of package releases.
  3. Assurance of package quality for production scenarios.

R-multiverse repositories

R-multiverse hosts two R package repositories:

  1. Community: an open, inclusive, community-curated repository of R package releases pulled directly from their maintainers via GitHub and GitLab.
  2. Production: a quarterly snapshot from Community of releases which pass transparent automated checks.

Installing packages

Each R-multiverse repository has a URL for the repos argument of install.packages(). For example, to install polars from Community: 1

install.packages(
  "polars",
  repos = c("https://community.r-multiverse.org", getOption("repos"))
)

and from Production:

install.packages(
  "polars",
  repos = c(
    "https://production.r-multiverse.org",
    "https://packagemanager.posit.co/cran/2024-11-15"
  )
)

Production is deployed in snapshots, and it works best with compatible versions of base R and dependency packages. For details, please visit the page on using Production.

Other repositories

R-multiverse does not replace CRAN. In fact, most R-multiverse packages depend on CRAN packages. In production environments, Production snapshots should be deployed alongside the CRAN package dependencies and release version of base R from the same day that the R-multiverse snapshot was created.

Infrastructure

R-multiverse is powered by R-universe, GitHub Actions, and the public source code repositories in the R-multiverse GitHub organization.

Support

R-multiverse originated from the R Consortium Repositories Working Group, and it was supported by R Consortium ISC grant 24-ISC-1-05.

Footnotes

  1. Caution: when setting two repositories in the repos argument, the same package may be in both. install.packages() chooses the most current version, which could be in either repository.↩︎