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"))
)

Production is deployed in periodic snapshots throughout the year. The current Production snapshot was deployed on 2025-03-15. It was tested with the base R 4.4 and CRAN packages from the dependency freeze on 2025-01-15. Please use the 2025-01-15 version of CRAN from Posit Public Package Manager (p3m) to install dependencies:2

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

Other repositories

R-multiverse does not replace CRAN. In fact, most R-multiverse packages depend on CRAN packages. In production environments, the Production snapshot should be deployed alongside the version of base R and the p3m version of CRAN from the day of the corresponding dependency freeze. See the documentation of Production for more details.

Infrastructure

All R-multiverse source code is public and open-source. The code is licensed under MIT, and the logo has a Creative Commons Attribution-ShareAlike 4.0 International license. R-multiverse leverages R-universe, GitHub Actions, and Cloudflare. Cloudflare provides the r-multiverse.org domain and hosts Production snapshots in an R2 bucket.

How you can help

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.↩︎

  2. Posit Public Package Manager (p3m) might not actually snapshot CRAN every day, but it still hosts a usable https://packagemanager.posit.co/cran/yyyy-mm-dd URL, even if the underlying physical snapshot came from an earlier day. https://p3m.dev/__api__/repos/cran/transaction-dates lists all the physical snapshots.↩︎