An R package that installs packages from MRAN snapshots to ensure reproducible environments by locking package versions to a specific date.
Checkpoint is an R package that ensures reproducible research and data analysis by installing R packages from MRAN snapshots based on a specific date. It solves the problem of package version inconsistencies by allowing users to lock dependencies to a point in time, making R scripts and projects reliable over the long term. It acts as a CRAN time machine, enabling the use of older package versions or packages no longer available on CRAN.
R developers, data scientists, and researchers who need to ensure their analyses and scripts produce consistent results across different machines and over time, especially in collaborative or production environments.
Developers choose checkpoint because it provides a simple, automated way to achieve package reproducibility without manual version tracking. Its unique selling point is the seamless integration with MRAN snapshots and project isolation, making it the go-to solution for reproducible R workflows.
Install R packages from snapshots on checkpoint-server
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Installs packages from MRAN snapshots for a specific date, acting as a 'CRAN time machine' to ensure scripts run with exact versions even years later, as highlighted in the README.
Creates separate library directories per project without affecting global libraries, enabling management of multiple projects with different package versions, a core feature described in the overview.
Scans R code for library(), require(), ::, and ::: calls to identify required packages, automating setup and reducing manual tracking, as detailed in the usage section.
With a simple checkpoint() call at the top of scripts, collaborators automatically install correct versions, making reproducibility effortless for shared projects, per the README's examples.
Requires continuous online access to MRAN snapshots; if MRAN is down or changes, functionality may break, limiting use in offline or restricted environments.
Initial checkpoint creation can install excessive packages if scanning misconfigured directories (e.g., user home), and checkpoints consume significant disk space, as warned in the 'Note on projects' section.
Primarily designed for CRAN packages via MRAN; handling non-CRAN sources like GitHub is not straightforward, which can be a limitation for modern R development with diverse dependencies.
Version 1.0 is a major rewrite, which might introduce instability or require adjustments for existing users, as noted in the overview, posing a risk for production environments.