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 CRAN snapshot from Posit Public Package Manager (p3m) to install dependencies:

install.packages(
  "polars",
  repos = c(
    "https://production.r-multiverse.org",
    "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, 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

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