Enhance Reproducibility of R Code
Overview
A collection of high-level, machine- and OS-independent tools for making reproducible and reusable content in R. The two workhorse functions are 'Cache()' and 'prepInputs()'. 'Cache()' allows for nested caching, is robust to environments and objects with environments (like functions), and deals with some classes of file-backed R objects e.g., from 'terra' and 'raster' packages. Both functions have been developed to be foundational components of data retrieval and processing in continuous workflow situations. In both functions, efforts are made to make the first and subsequent calls of functions have the same result, but faster at subsequent times by way of checksums and digesting. Several features are still under development, including cloud storage of cached objects allowing for sharing between users. Several advanced options are available, see '?reproducibleOptions()'.
bug fixes
- **
prepInputs()no longer errors on Linux distributions withoutapt.** The check for RAR support shelled out toapt, which exists only on Debian/Ubuntu;system(..., intern = TRUE)*errors* rather than returning non-zero when a command is absent, so this failed on Fedora, RHEL, Arch and SUSE. CRAN'sr-devel-linux-x86_64-fedora-{clang,gcc}reported it as a check ERROR. It now asks7zitself (7z i), which answers the real question ("does this 7z support RAR?") on every platform and needs no package manager. detectActiveCores()no longer errors wherepsis unavailable, and a missingunrarno longer fails silently: both now check for the binary withSys.which()before calling it.- Guidance for installing an extraction binary now covers macOS (
brew install p7zip) alongside Debian/Ubuntu and RHEL/Fedora.
From NEWS.md in the release
Install
Health
- OK13 OK2026-10-17
- WARNING12 OK, 1 WARNING2026-10-01
- OK11 OK2026-08-28
- ERROR6 OK, 1 ERROR2026-08-26
- OK13 OK2026-07-04
Show 14 earlier changesHide 14 earlier changes
- WARNING12 OK, 1 WARNING2026-07-03
- OK13 OK2026-07-01
- ERROR12 OK, 1 ERROR2026-06-20
- OK13 OK2026-06-19
- WARNING12 OK, 1 WARNING2026-06-17
- OK13 OK2026-06-10
- ERROR12 OK, 1 ERROR2026-06-03
- OK13 OK2026-05-23
- ERROR12 OK, 1 ERROR2026-05-20
- OK13 OK2026-05-17
- ERROR12 OK, 1 ERROR2026-05-07
- OK13 OK2026-05-02
- ERROR11 OK, 1 ERROR2026-04-25
- OK14 OK2026-03-10
Documentation
- Help pages
- 114 (36 internal)includes a package overview page
- Examples that run
- 100%52 run in a plain check (14 of them under a condition)
- Exported functions with examples
- 76%
- Documented parameters
- 91%
- Return-value docs
- 94%
- Help pages citing references
- 0%
Downloads
Repository
- PRs merged (all time)
- 89%
- Median days to close, 50 most recently updated closed issues
- 74
- Median days to close, 50 most recently updated closed PRs
- 0
Releases over time
Issues over time
PRs over time
Commits over time
13 development-tooling and community-health practices detected across 8 families in the upstream repository
Checks run against github.com/predictiveecology/reproducible on 2026-10-11.
The R CMD check workflow runs on Linux
Show all practicesHide 4 practices
This repository shows signs of AI coding tools.
- Claude Codefirst seen 2026-03-03Named in .Rbuildignore: .claudeNamed in .gitignore: .claudePull request it wrote: opened by a project memberCommits: at least 303 crediting it in the message
- Aiderfirst seen 2026-06-09Named in .gitignore: .aider*
- Claude CodePull requests: 152 from outside contributors, first on 2026-03-03
- Claude Opus 562 commits · Aug 2026
- Claude Sonnet 4.661 commits · Mar to Apr 2026
- Claude Opus 4.739 commits · Apr to May 2026
- Claude Opus 4.84 commits · Aug 2026
Some of these counts are a minimum, because the search stopped before the oldest commits.
Dependencies
Installing reproducible adds 12 packages (7 with compiled code, 9.4 MB of source tarballs). Heaviest: data.table 5.7 MB, fs 1.4 MB, rlang 766 KB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- unarchivedReturned to CRAN2026-08-25
- 3.2.1Latest
- 3.2.0first seen 2026-08-25 · diff ↗ ·
removed 5 exports
checkAndMakeCloudFolderID, downloadFile, internetExists, loadFile, prepInputsCOGadded 4 exports
clearUrlLog, listGoogleDriveFolder, makeUrlRemap, prepInputsLog - archivedRemoved from CRAN2026-07-13repeated policy violation On Internet access
- 3.1.12026-05-18 · diff ↗
- 3.1.0
- RR 4.6.0 released · 2026-04-24
- 3.0.02026-01-08 · diff ↗ ·
removed 1 export
fastMaskadded 17 exports
.addTagsRepo, .isCRSany, .isGridded, .isSF, .isSpat, .isSpatialAny, .isVector, .objSizeWithTry, .updateTagsRepo, .whereInStack, CacheV2, cacheId, detectActiveCores, numCoresToUse, prepInputsWithTiles, purgeChecksums, usesPointer - RR 4.5.0 released · 2025-04-11
- 2.1.22024-12-12 · diff ↗
- 2.1.02024-05-30 · diff ↗ ·
added 14 exports
.cacheMessageObjectToRetrieve, .isMemoised, extractFromCache, gdalMask, gdalProject, gdalResample, listNamed, loadFile, messageCache, messageColoured, messagePreProcess, messagePrepInputs, messageQuestion, remapFilenames - RR 4.4.0 released · 2024-04-24
- unarchivedReturned to CRAN2024-04-15
- 2.0.122024-04-15 · diff ↗
- archivedRemoved from CRAN2024-04-12issues were not corrected in time
- 2.0.112024-03-30 · diff ↗
Show 45 earlier eventsHide 45 earlier events
- 2.0.102023-11-22 · diff ↗
- 2.0.9
- 2.0.82023-08-23 · diff ↗
- 2.0.7
- 2.0.52023-07-03 · diff ↗ ·
removed 2 exports
.dealWithClass, .dealWithClassOnRecoveryadded 2 exports
.unwrap, .wrap - 2.0.42023-05-31 · diff ↗
- 2.0.22023-05-07 · diff ↗ ·
removed 3 exports
assessDataTypeGDAL, clearStubArtifacts, fixErrorsTerraadded 12 exports
.dealWithClass, .dealWithClassOnRecovery, CacheGeo, dataType2, fixErrorsIn, maxFn, minFn, nlayers2, postProcessTo, rasterRead, set.randomseed, values2 - RR 4.3.0 released · 2023-04-21
- unarchivedReturned to CRAN2022-12-22
- 1.2.162022-12-22 · diff ↗ ·
removed 15 exports
%<%, %C%, .prepareFileBackedRaster, Require, checkoutVersion, cloudCache, cloudCheckOld, cloudSyncCacheOld, cloudWriteOld, file.move, getArtifact, getCacheId, getUserTags, pkgDep, trimVersionNumberadded 4 exports
.file.move, maskTo, projectTo, writeTo - archivedRemoved from CRAN2022-11-09requires archived package 'Require'
- 1.2.112022-11-09 · diff ↗
- 1.2.102022-08-17 · diff ↗ ·
removed 3 exports
checkGDALVersion, getGDALVersion, isTopLevelEnvadded 3 exports
cropTo, fixErrorsTerra, postProcessTerra - RR 4.2.0 released · 2022-04-22
- 1.2.82021-09-26 · diff ↗
- unarchivedReturned to CRAN2021-05-28
- 1.2.7
- archivedRemoved from CRAN2021-05-22policy violation on filespace access ('~/tmp')
- RR 4.1.0 released · 2021-05-18
- 1.2.62021-02-17 · diff ↗
- 1.2.4
- 1.2.12020-08-18 · diff ↗
- 1.2.02020-08-03 · diff ↗ ·
removed 6 exports
installVersions, installedVersions, newLibPaths, pkgDep2, pkgDepTopoSort, pkgSnapshotadded 3 exports
file.move, messageDF, preProcessParams - 1.1.12020-05-20 · diff ↗
- 1.1.02020-05-15 · diff ↗ ·
added 6 exports
.requireNamespace, movedCache, pkgDepTopoSort, studyAreaName, tempfile2, trimVersionNumber - RR 4.0.0 released · 2020-04-24
- 1.0.02020-02-20 · diff ↗ ·
removed 1 export
.objSizeInclEnvirosadded 8 exports
CacheDBFile, CacheDBTableName, CacheIsACache, CacheStorageDir, CacheStoredFile, createCache, loadFromCache, rmFromCache - 0.2.112019-11-19 · diff ↗ ·
removed 2 exports
cloudDownloadChecksumsOld, cloudUpdateChecksumsOldadded 1 export
tempdir2 - 0.2.10
- 0.2.92019-07-09 · diff ↗ ·
removed 6 exports
cloudCheck, cloudDownloadChecksums, cloudSyncCache, cloudUpdateChecksums, cloudWrite, readLinesRcppadded 8 exports
Filenames, checkAndMakeCloudFolderID, cloudCheckOld, cloudDownloadChecksumsOld, cloudSyncCacheOld, cloudUpdateChecksumsOld, cloudWriteOld, retry - RR 3.6.0 released · 2019-04-26
- 0.2.8
- 0.2.72019-03-07 · diff ↗
- 0.2.62019-02-01 · diff ↗ ·
removed 8 exports
%>%, UTM_to_longlat, cache, find_UTM_hemisphere, find_UTM_zone, longlat_to_UTM, makeMemoiseable, unmakeMemoiseableadded 13 exports
.setSubAttrInList, CacheDigest, basename2, cc, cloudCache, cloudCheck, cloudDownloadChecksums, cloudSyncCache, cloudUpdateChecksums, cloudWrite, makeMemoisable, reproducibleOptions, unmakeMemoisable - 0.2.52018-11-16 · diff ↗ ·
added 8 exports
.formalsNotInCurrentDots, .grepSysCalls, UTM_to_longlat, assessDataTypeGDAL, find_UTM_hemisphere, find_UTM_zone, linkOrCopy, longlat_to_UTM - 0.2.32018-08-07 · diff ↗
- 0.2.2
- 0.2.12018-07-07 · diff ↗ ·
added 4 exports
convertPaths, convertRasterPaths, makeMemoiseable, unmakeMemoiseable - 0.2.02018-06-17 · diff ↗ ·
added 17 exports
%<%, .prefix, .suffix, Checksums, checkGDALVersion, cropInputs, downloadFile, fastMask, fixErrors, getGDALVersion, maskInputs, objSize, postProcess, preProcess, prepInputs, projectInputs, writeOutputs - RR 3.5.0 released · 2018-04-23
- 0.1.42018-01-25 · diff ↗ ·
added 13 exports
%>%, %C%, .orderDotsUnderscoreFirst, Require, compareNA, installVersions, installedVersions, newLibPaths, pkgDep, pkgSnapshot, readLinesRcpp, searchFull, searchFullEx - 0.1.32017-08-11 · diff ↗
- 0.1.22017-08-09 · diff ↗
- 0.1.12017-08-05
- RR 3.4.0 released · 2017-04-21
Package metadata
- First published
- 2017-08-05
- Total releases
- 43 / 9 yrs
- License
- GPL-3 OSI
- Minimum R
- ≥ 4.3
- Download size
- 669 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("reproducible")The package provides a citation file that builds its entry when R runs it. Run citation() to see it.
The repository also keeps a CITATION.cff.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.