Overview

Why rrepo exists, what rpx does, and where to start.

rpx is a package manager for R projects. It resolves dependencies from package metadata, writes a lockfile, and runs R inside an isolated project library.

It uses rrepo because dependency resolution needs metadata for package versions, including archived versions. CRAN stores that metadata inside package tarballs, but it does not expose every archived DESCRIPTION file directly. rrepo makes the metadata available through an API so rpx can resolve a compatible package set before it downloads packages.

Public and private packages

The public rrepo registry is available to anyone through rpx by default at https://upstream.rrepo.dev/cran. You can install public R packages without requesting access to the dashboard.

Private package hosting is available from the dashboard. Create an organization to create repositories, upload package tarballs, manage members, and issue API keys.

Private repositories use production URLs under rrepo.dev:

https://<org-slug>.rrepo.dev/<repo-slug>

Use that URL with rpx repo add when a project needs internal packages. See Repositories for the full repository model, including fallback repositories and default registry controls.

Project model

DESCRIPTION is the manifest. It says which packages your project depends on.

rpx.lock is the resolved package set. Commit it so other developers and CI install the same versions.

The project library is local to the project. You do not need to manage it directly; use rpx commands to keep it in sync.

Critical path

Start a new project:

rpx init
rpx add digest

Run R through rpx so it uses the project library:

rpx run R

For existing projects, run rpx lock to write the lockfile and rpx sync to install the locked set.

Next steps