Show HN: Rv, a Package Manager for R

TribeNews
3 Min Read

rv

rv is a new way to manage and install your R packages in a reproducible, fast, and declarative way.

- Advertisement -

Warning

rv is still in development and may not be fully documented. For additional information, issues, or feature requests, please create an issue or contact us directly.

- Advertisement -

How it works

rv has several top level commands to provide the user with as much flexibility as possible. The two primary commands are:

- Advertisement -

rv plan # detail what will occur if sync is run
rv sync # synchronize the library, config file, and lock file

The subsequent actions of these commands are controlled by a configuration file that specifies a desired project state by specifying the R version, repositories, and dependencies the project uses. Additionally, specific package and repository level customizations can be specified.

For example, a simple configuration file:

- Advertisement -

[project]
name = “my first rv project”
r_version = “4.4”

# any repositories, order matters
repositories = [
{ alias = “PPM”, url = “https://packagemanager.posit.co/cran/latest” },
]

# top level packages to install
dependencies = [
“dplyr”,
{ name = “ggplot2”, install_suggestions = true}
]
Running rv sync will synchronize the library, lock file, and configuration file by installing dplyr, ggplot2, any dependencies those packages require, and the suggested packages for ggplot2. Running rv plan will give you a preview of what rv sync will do.

- Advertisement -

Additional example projects with more configurations can be found in the example_projects directory of this repository.

Installation

See the installation documentation for information on how to install rv.

Usage

See the usage documentation for information on how to use rv and how to configure it with
the rproject.toml file.

Contributing

Getting started

To get started with the development of rv, you’ll need:

Rust
and optionally Just

After installing Rust, you can build the project by running:

just run
// or
cargo run –features=cli –release — …
e.g. just run sync or just run add –dry-run.

If you’d like to install the current version of the project as a binary, you can run:

just install
// or
cargo install –path . –features cli
Unit testing

Run the unit tests with:

just test
// or
cargo test –features=cli
Snapshot testing

Snapshots require R version 4.4.x.

Leave a Comment
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected & This Is Prohibited!!!

We have detected that you are using extensions to block ads and you are also not using our official app. Your Account Have been Flagged and reported, pending de-activation & All your earning will be wiped out. Please turn off the software to continue

You cannot copy content of this app