Require1.0.1 package

Installing and Loading R Packages for Reproducible Workflows

setLibPaths

Set .libPaths

setLinuxBinaryRepo

Setup for binary Linux repositories

availablePackagesOverride

Create a custom "available.packages" object

availableVersionOK

Needs VersionOnRepos, versionSpec and inequality columns

availableVersions

Available and archived versions

cacheDefaultDir

The default cache directory for Require Cache

cacheDir

Path to (package) cache directory

cacheGetOptionCachePkgDir

Get the option for Require.cachePkgDir

cachePurge

Purge everything in the Require cache

checkLibPaths

Creates the directories, and adds version number

checkPath

Check directory path

chooseCRANmirror2

Pass through function for chooseCRANmirror

clearRequire

Clear Require Cache elements

compareVersion2

Compare package versions

dealWithMissingLibPaths

Only checks for deprecated libPath argument (singular)

DESCRIPTION-helpers

GitHub package tools

detachAll

Detach and unload all packages

doLibPaths

Deals with missing libPaths arg, and takes first

dot-downloadFileMasterMainAuth

GITHUB_PAT-aware and main-master-aware download from GitHub

dot-installed.pkgs

Partial alternative (faster) to installed.packages

envPkgCreate

1st level --> create the .pkgEnv object in Require

envPkgDepDepsCreate

3rd level for deps #############################################

envPkgDepDESCFileCreate

3rd level for DESCRIPTIONFile

extractPkgName

Extract info from package character strings

getCRANrepos

A helper function to get or set CRAN repos

getDeps

The packages argument may have up to 4 pieces of information for Git...

GitHubTools

Parse a github package specification

invertList

Invert a 2-level list

joinToAvailablePackages

Join a data.table with a Package column to available.packages

linkOrCopy

Create link to file, falling back to making a copy if linking fails.

masterMainToHead

This converts master or main to HEAD for a git repo

messageVerbose

Use message to print a clean square data structure

modifyList2

modifyList for multiple lists

normPath

Normalize filepath

paddedFloatToChar

Convert numeric to character with padding

pakEnv

2nd level

pkgDep

Reverse package depends

pkgDepEnv

2nd level

setdiffNamed

Like setdiff, but takes into account names

pkgDepIfDepRemoved

Package dependencies when one or more packages removed

pkgSnapshot

Take a snapshot of all the packages and version numbers

R_TESTSomit

This environment variable "R_TESTS" is set during testing, and it poin...

Require

Require: Installing and Loading R Packages for Reproducible Workflows

RequireOptions

Require options

rmBase

Recursive function to remove .basePkgs

rversions

R versions

setup

Setup a project library, cache, options

sourcePkgs

A list of R packages that should likely be installed from Source, not ...

splitKeepOrderAndDTIntegrity

split for a data.table that keeps integrity of a column of lists of ...

sysInstallAndDownload

download.files or install.packages in a separate process

tempdir2

Make a temporary (sub-)directory

tempfile2

Make a temporary subfile in a temporary (sub-)directory

trimVersionNumber

Trim version number off a compound package name

updatePackages

Update installed packages with latest available versions

A single key function, 'Require' that makes rerun-tolerant versions of 'install.packages' and `require` for CRAN packages, packages no longer on CRAN (i.e., archived), specific versions of packages, and GitHub packages. This approach is developed to create reproducible workflows that are flexible and fast enough to use while in development stages, while able to build snapshots once a stable package collection is found. As with other functions in a reproducible workflow, this package emphasizes functions that return the same result whether it is the first or subsequent times running the function, with subsequent times being sufficiently fast that they can be run every time without undue waiting burden on the user or developer.

  • Maintainer: Eliot J B McIntire
  • License: GPL-3
  • Last published: 2024-08-17