-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathoverview.qmd
More file actions
93 lines (74 loc) · 4.33 KB
/
Copy pathoverview.qmd
File metadata and controls
93 lines (74 loc) · 4.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
---
title: "Overview"
---
```{r, eval = TRUE, echo = FALSE}
source("R/utils.R")
```
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](community.md): an open, inclusive, community-curated repository
of R package releases pulled directly from GitHub, GitLab, and Codeberg.
2. [Production](production.qmd): a quarterly snapshot from [Community](community.md)
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`](https://pola-rs.github.io/r-polars/) from [Community](community.md):
^[
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.
]
```r
install.packages(
"polars",
repos = c("https://community.r-multiverse.org", getOption("repos"))
)
```
[Production](production.qmd) is deployed in periodic snapshots throughout the year.
The current Production snapshot was deployed on `r snapshot()$snapshot`, and it has `r nrow(available.packages(repos = sprintf("https://production.r-multiverse.org/%s", snapshot()$snapshot)))` packages.
The snapshot was tested with the base R `r snapshot()$r` and [CRAN](https://cran.r-project.org/) packages from the [dependency freeze](production.qmd#staging) on `r snapshot()$dependency_freeze`.
Please use the `r snapshot()$dependency_freeze` version of CRAN from [Posit Public Package Manager (p3m)](https://packagemanager.posit.co) to install dependencies:^[[Posit Public Package Manager (p3m)](https://packagemanager.posit.co) 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.]
```{r, eval = TRUE, echo = FALSE, results = "asis"}
text <- c(
"```r",
"install.packages(",
" \"polars\",",
" repos = c(",
sprintf(
" \"https://production.r-multiverse.org/%s\",",
snapshot()$snapshot
),
sprintf(
" \"https://packagemanager.posit.co/cran/%s\"",
snapshot()$dependency_freeze
),
" )",
")",
"```"
)
cat(text, sep = "\n")
```
## Other repositories
R-multiverse does not replace [CRAN](https://cran.r-project.org/).
In fact, most R-multiverse packages depend on [CRAN](https://cran.r-project.org/) packages.
In production environments,
the [Production](production.qmd) snapshot should be deployed alongside the version of base R
and the [p3m](https://packagemanager.posit.co) version of [CRAN](https://cran.r-project.org/)
from the day of the corresponding [dependency freeze](production.qmd#month-1-dependency-freeze).
See the documentation of [Production](production.qmd) for more details.
## Infrastructure
All [R-multiverse source code](https://github.com/r-multiverse) is public and open-source.
The code is licensed under [MIT](https://github.com/r-multiverse/multiverse.internals/blob/main/LICENSE.md), and the [logo](https://github.com/r-multiverse/r-multiverse.github.io/tree/main/logo) has a [Creative Commons Attribution-ShareAlike 4.0 International license](https://github.com/r-multiverse/r-multiverse.github.io/blob/main/logo/LICENSE.md).
R-multiverse leverages [R-universe](https://r-universe.dev/), [GitHub Actions](https://github.com/features/actions), and [Cloudflare](https://www.cloudflare.com/).
[Cloudflare](https://www.cloudflare.com/) provides the `r-multiverse.org` domain and hosts [Production](production.qmd) snapshots in an [R2 bucket](https://www.cloudflare.com/developer-platform/products/r2/).
## How you can help
* Spread the word: share R-multiverse with your colleagues.
* [Contribute your packages](contributors.md) to R-multiverse.
* Volunteer to become a [moderator](moderators.md).
## Support
R-multiverse originated from the R Consortium [Repositories Working Group](https://github.com/RConsortium/r-repositories-wg), and it was supported by [R Consortium](https://r-consortium.org) ISC grant 24-ISC-1-05.