{
  "_id": "6a21d353cd65a98ecbd3fa4b",
  "Package": "reproducible",
  "Type": "Package",
  "Title": "Enhance Reproducibility of R Code",
  "Description": "A collection of high-level, machine- and OS-independent\ntools for making reproducible and reusable content in R. The\ntwo workhorse functions are 'Cache()' and 'prepInputs()'.\n'Cache()' allows for nested caching, is robust to environments\nand objects with environments (like functions), and deals with\nsome classes of file-backed R objects e.g., from 'terra' and\n'raster' packages. Both functions have been developed to be\nfoundational components of data retrieval and processing in\ncontinuous workflow situations. In both functions, efforts are\nmade to make the first and subsequent calls of functions have\nthe same result, but faster at subsequent times by way of\nchecksums and digesting. Several features are still under\ndevelopment, including cloud storage of cached objects allowing\nfor sharing between users. Several advanced options are\navailable, see '?reproducibleOptions()'.",
  "SystemRequirements": "'unrar' (Linux/macOS) or '7-Zip' (Windows) to work\nwith '.rar' files.",
  "URL": "https://reproducible.predictiveecology.org,\nhttps://github.com/PredictiveEcology/reproducible",
  "Date": "2026-06-03",
  "Version": "3.1.1.9036",
  "Authors@R": "c(person(given = \"Eliot J B\",\nfamily = \"McIntire\",\nrole = c(\"aut\", \"cre\"),\nemail = \"eliot.mcintire@canada.ca\",\ncomment = c(ORCID = \"0000-0002-6914-8316\")),\nperson(given = \"Alex M\",\nfamily = \"Chubaty\",\nrole = c(\"aut\"),\nemail = \"achubaty@for-cast.ca\",\ncomment = c(ORCID = \"0000-0001-7146-8135\")),\nperson(given = \"Tati\",\nfamily = \"Micheletti\",\nrole = \"ctb\",\nemail = \"tati.micheletti@gmail.com\",\ncomment = c(ORCID = \"0000-0003-4838-8342\")),\nperson(given = \"Ceres\",\nfamily = \"Barros\",\nrole = \"ctb\",\nemail = \"ceres.barros@ubc.ca\",\ncomment = c(ORCID = \"0000-0003-4036-977X\")),\nperson(given = \"Ian\",\nfamily = \"Eddy\",\nrole = \"ctb\",\nemail = \"ian.eddy@nrcan-rncan.gc.ca\",\ncomment = c(ORCID = \"0000-0001-7397-2116\")),\nperson(given = \"His Majesty the King in Right of Canada, as represented by the Minister of Natural Resources Canada\",\nrole = \"cph\"))",
  "Encoding": "UTF-8",
  "Language": "en-CA",
  "License": "GPL-3",
  "VignetteBuilder": "knitr, rmarkdown",
  "BugReports": "https://github.com/PredictiveEcology/reproducible/issues",
  "ByteCompile": "yes",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.0.0",
  "Collate": "'DBI.R' 'messages.R' 'GPT2.R' 'cache-helpers.R'\n'cache-internals.R' 'robustDigest.R' 'cache.R' 'cacheGeo.R'\n'checksums.R' 'cloud.R' 'convertPaths.R' 'copy.R' 'download.R'\n'downloadTileAndUpload.R' 'exportedMethods.R' 'gis.R'\n'helpers.R' 'listNamed.R' 'objectSize.R' 'options.R'\n'packages.R' 'paths.R' 'pipe.R' 'postProcess.R'\n'postProcessTo.R' 'preProcess.R' 'prepInputs.R'\n'prepInputsCOG.R' 'reproducible-deprecated.R'\n'reproducible-package.R' 'search.R' 'showCacheEtc.R'\n'spatialObjects-class.R' 'terra-migration.R' 'urlLog.R' 'zzz.R'",
  "Config/pak/sysreqs": "cmake make libuv1-dev",
  "Repository": "https://predictiveecology.r-universe.dev",
  "Date/Publication": "2026-06-04 17:54:27 UTC",
  "RemoteUrl": "https://github.com/PredictiveEcology/reproducible",
  "RemoteRef": "development",
  "RemoteSha": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-04 19:26:39 UTC",
    "User": "root"
  },
  "Author": "Eliot J B McIntire [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-6914-8316>),\nAlex M Chubaty [aut] (ORCID: <https://orcid.org/0000-0001-7146-8135>),\nTati Micheletti [ctb] (ORCID: <https://orcid.org/0000-0003-4838-8342>),\nCeres Barros [ctb] (ORCID: <https://orcid.org/0000-0003-4036-977X>),\nIan Eddy [ctb] (ORCID: <https://orcid.org/0000-0001-7397-2116>),\nHis Majesty the King in Right of Canada, as represented by the Minister\nof Natural Resources Canada [cph]",
  "Maintainer": "Eliot J B McIntire <eliot.mcintire@canada.ca>",
  "MD5sum": "085c4e3cefe1cb5add538740ea1de8f6",
  "_user": "predictiveecology",
  "_type": "src",
  "_file": "reproducible_3.1.1.9036.tar.gz",
  "_fileid": "50f48e3e4b015419cf782595d58689794ec0feeb1007e036b40391d8226316d0",
  "_filesize": 1055623,
  "_sha256": "50f48e3e4b015419cf782595d58689794ec0feeb1007e036b40391d8226316d0",
  "_created": "2026-06-04T19:26:39.000Z",
  "_published": "2026-06-04T19:34:43.067Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79597857109,
      "time": 228,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7421083553"
    },
    {
      "job": 79597857133,
      "time": 209,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7421077234"
    },
    {
      "job": 79597857106,
      "time": 209,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7421076282"
    },
    {
      "job": 79597857217,
      "time": 135,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7421049383"
    },
    {
      "job": 79597222300,
      "time": 217,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7421003038"
    },
    {
      "job": 79597857129,
      "time": 129,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7421049279"
    },
    {
      "job": 79597857260,
      "time": 437,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7421155627"
    },
    {
      "job": 79597857143,
      "time": 308,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7421110593"
    },
    {
      "job": 79597857183,
      "time": 185,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7421068384"
    }
  ],
  "_buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/PredictiveEcology/reproducible",
  "_commit": {
    "id": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
    "author": "Eliot McIntire <eliotmcintire@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #495 from PredictiveEcology/ci-test-downstream-spadescore-development\n\nci(test-downstream): check out SpaDES.core at development, not release",
    "time": 1780595667
  },
  "_maintainer": {
    "name": "Eliot J B McIntire",
    "email": "eliot.mcintire@canada.ca",
    "orcid": "0000-0002-6914-8316"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.3",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "version": ">= 1.10.4",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "filelock",
      "version": ">= 1.0.3",
      "role": "Imports"
    },
    {
      "package": "fpCompare",
      "role": "Imports"
    },
    {
      "package": "fs",
      "role": "Imports"
    },
    {
      "package": "lobstr",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "archive",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "curl",
      "version": ">= 7.0.0",
      "role": "Suggests"
    },
    {
      "package": "DBI",
      "role": "Suggests"
    },
    {
      "package": "future",
      "role": "Suggests"
    },
    {
      "package": "geodata",
      "role": "Suggests"
    },
    {
      "package": "glue",
      "role": "Suggests"
    },
    {
      "package": "googledrive",
      "role": "Suggests"
    },
    {
      "package": "httr",
      "role": "Suggests"
    },
    {
      "package": "httr2",
      "version": ">= 1.2.1",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "parallel",
      "role": "Suggests"
    },
    {
      "package": "parallelly",
      "role": "Suggests"
    },
    {
      "package": "qs2",
      "role": "Suggests"
    },
    {
      "package": "raster",
      "version": ">= 3.5-15",
      "role": "Suggests"
    },
    {
      "package": "RCurl",
      "version": ">= 1.95-4.8",
      "role": "Suggests"
    },
    {
      "package": "rlang",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "RSQLite",
      "role": "Suggests"
    },
    {
      "package": "R.utils",
      "role": "Suggests"
    },
    {
      "package": "rvest",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "sp",
      "version": ">= 1.4-2",
      "role": "Suggests"
    },
    {
      "package": "terra",
      "version": ">= 1.7-20",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "predictiveecology",
  "_selfowned": true,
  "_usedby": 15,
  "_updates": [
    {
      "week": "2025-45",
      "n": 1
    },
    {
      "week": "2025-49",
      "n": 2
    },
    {
      "week": "2026-02",
      "n": 2
    },
    {
      "week": "2026-16",
      "n": 1
    },
    {
      "week": "2026-20",
      "n": 12
    },
    {
      "week": "2026-21",
      "n": 9
    },
    {
      "week": "2026-22",
      "n": 4
    },
    {
      "week": "2026-23",
      "n": 5
    }
  ],
  "_tags": [
    {
      "name": "v3.1.0",
      "date": "2026-05-16"
    },
    {
      "name": "v3.1.1",
      "date": "2026-05-18"
    }
  ],
  "_topics": [
    "reproducibility",
    "reproducible-research"
  ],
  "_stars": 39,
  "_contributors": [
    {
      "user": "eliotmcintire",
      "count": 3043,
      "uuid": 1100507
    },
    {
      "user": "achubaty",
      "count": 1372,
      "uuid": 3435577
    },
    {
      "user": "tati-micheletti",
      "count": 115,
      "uuid": 33500569
    },
    {
      "user": "ianmseddy",
      "count": 96,
      "uuid": 31015280
    },
    {
      "user": "ceresbarros",
      "count": 24,
      "uuid": 22214224
    },
    {
      "user": "melinahoule",
      "count": 3,
      "uuid": 10730242
    },
    {
      "user": "nbsmokee",
      "count": 1,
      "uuid": 64212715
    },
    {
      "user": "stewid",
      "count": 1,
      "uuid": 1815965
    }
  ],
  "_userbio": {
    "uuid": 10555025,
    "type": "organization",
    "name": "Predictive Ecology Group",
    "description": "Ecological forecasting models and data"
  },
  "_downloads": {
    "count": 2551,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/reproducible"
  },
  "_devurl": "https://github.com/predictiveecology/reproducible",
  "_pkgdown": "https://reproducible.predictiveecology.org",
  "_searchresults": 110,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/reproducible.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/predictiveecology/reproducible",
  "_realowner": "predictiveecology",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2017-08-05"
    },
    {
      "version": "0.1.2",
      "date": "2017-08-09"
    },
    {
      "version": "0.1.3",
      "date": "2017-08-10"
    },
    {
      "version": "0.1.4",
      "date": "2018-01-25"
    },
    {
      "version": "0.2.0",
      "date": "2018-06-17"
    },
    {
      "version": "0.2.1",
      "date": "2018-07-07"
    },
    {
      "version": "0.2.2",
      "date": "2018-08-01"
    },
    {
      "version": "0.2.3",
      "date": "2018-08-07"
    },
    {
      "version": "0.2.5",
      "date": "2018-11-16"
    },
    {
      "version": "0.2.6",
      "date": "2019-02-01"
    },
    {
      "version": "0.2.7",
      "date": "2019-03-08"
    },
    {
      "version": "0.2.8",
      "date": "2019-03-18"
    },
    {
      "version": "0.2.9",
      "date": "2019-07-09"
    },
    {
      "version": "0.2.10",
      "date": "2019-09-12"
    },
    {
      "version": "0.2.11",
      "date": "2019-11-19"
    },
    {
      "version": "1.0.0",
      "date": "2020-02-20"
    },
    {
      "version": "1.1.0",
      "date": "2020-05-15"
    },
    {
      "version": "1.1.1",
      "date": "2020-05-20"
    },
    {
      "version": "1.2.0",
      "date": "2020-08-03"
    },
    {
      "version": "1.2.1",
      "date": "2020-08-18"
    },
    {
      "version": "1.2.4",
      "date": "2020-12-07"
    },
    {
      "version": "1.2.6",
      "date": "2021-02-17"
    },
    {
      "version": "1.2.7",
      "date": "2021-05-28"
    },
    {
      "version": "1.2.8",
      "date": "2021-09-26"
    },
    {
      "version": "1.2.10",
      "date": "2022-08-17"
    },
    {
      "version": "1.2.11",
      "date": "2022-11-09"
    },
    {
      "version": "1.2.16",
      "date": "2022-12-22"
    },
    {
      "version": "2.0.2",
      "date": "2023-05-07"
    },
    {
      "version": "2.0.4",
      "date": "2023-05-31"
    },
    {
      "version": "2.0.5",
      "date": "2023-07-03"
    },
    {
      "version": "2.0.7",
      "date": "2023-08-07"
    },
    {
      "version": "2.0.8",
      "date": "2023-08-24"
    },
    {
      "version": "2.0.9",
      "date": "2023-11-09"
    },
    {
      "version": "2.0.10",
      "date": "2023-11-22"
    },
    {
      "version": "2.0.11",
      "date": "2024-03-30"
    },
    {
      "version": "2.0.12",
      "date": "2024-04-15"
    },
    {
      "version": "2.1.0",
      "date": "2024-05-30"
    },
    {
      "version": "2.1.2",
      "date": "2024-12-12"
    },
    {
      "version": "3.0.0",
      "date": "2026-01-08"
    },
    {
      "version": "3.1.0",
      "date": "2026-05-16"
    },
    {
      "version": "3.1.1",
      "date": "2026-05-18"
    }
  ],
  "_exports": [
    ".addChangedAttr",
    ".addTagsRepo",
    ".addTagsToOutput",
    ".cacheMessage",
    ".cacheMessageObjectToRetrieve",
    ".checkCacheRepo",
    ".file.move",
    ".formalsNotInCurrentDots",
    ".grepSysCalls",
    ".isCRSany",
    ".isGridded",
    ".isMemoised",
    ".isSF",
    ".isSpat",
    ".isSpatialAny",
    ".isVector",
    ".objSizeWithTry",
    ".orderDotsUnderscoreFirst",
    ".preDigestByClass",
    ".prefix",
    ".prepareOutput",
    ".requireNamespace",
    ".robustDigest",
    ".setSubAttrInList",
    ".sortDotsUnderscoreFirst",
    ".suffix",
    ".tagsByClass",
    ".unwrap",
    ".updateTagsRepo",
    ".whereInStack",
    ".wrap",
    "asPath",
    "assessDataType",
    "basename2",
    "Cache",
    "CacheDBFile",
    "CacheDBTableName",
    "CacheDigest",
    "CacheGeo",
    "cacheId",
    "CacheIsACache",
    "CacheStorageDir",
    "CacheStoredFile",
    "CacheV2",
    "cc",
    "checkAndMakeCloudFolderID",
    "checkPath",
    "Checksums",
    "clearCache",
    "clearUrlLog",
    "compareNA",
    "convertPaths",
    "convertRasterPaths",
    "Copy",
    "copyFile",
    "createCache",
    "cropInputs",
    "cropTo",
    "dataType2",
    "detectActiveCores",
    "downloadFile",
    "extractFromCache",
    "Filenames",
    "fixErrors",
    "fixErrorsIn",
    "gdalMask",
    "gdalProject",
    "gdalResample",
    "getRelative",
    "internetExists",
    "isUpdated",
    "keepCache",
    "linkOrCopy",
    "listNamed",
    "loadFile",
    "loadFromCache",
    "makeMemoisable",
    "makeRelative",
    "makeUrlRemap",
    "maskInputs",
    "maskTo",
    "maxFn",
    "mergeCache",
    "messageCache",
    "messageColoured",
    "messageDF",
    "messagePrepInputs",
    "messagePreProcess",
    "messageQuestion",
    "minFn",
    "movedCache",
    "nlayers2",
    "normPath",
    "normPathRel",
    "numCoresToUse",
    "objSize",
    "objSizeSession",
    "paddedFloatToChar",
    "postProcess",
    "postProcessTerra",
    "postProcessTo",
    "prepInputs",
    "prepInputsCOG",
    "prepInputsLog",
    "prepInputsWithTiles",
    "prepopulateCacheAsync",
    "preProcess",
    "preProcessParams",
    "projectInputs",
    "projectTo",
    "purgeChecksums",
    "rasterRead",
    "remapFilenames",
    "reproducibleOptions",
    "retry",
    "rmFromCache",
    "searchFull",
    "searchFullEx",
    "set.randomseed",
    "showCache",
    "studyAreaName",
    "tempdir2",
    "tempfile2",
    "unmakeMemoisable",
    "updateFilenameSlots",
    "urlExists",
    "usesPointer",
    "values2",
    "writeFuture",
    "writeOutputs",
    "writeTo"
  ],
  "_help": [
    {
      "page": "reproducible-package",
      "title": "The 'reproducible' package",
      "topics": [
        "reproducible-package",
        "reproducible"
      ]
    },
    {
      "page": "addTags",
      "title": "Add a Tag to a Cached Object in the Repository",
      "topics": [
        ".addTagsRepo",
        ".updateTagsRepo"
      ]
    },
    {
      "page": "debugCache",
      "title": "Attach debug info to return for Cache",
      "topics": [
        ".debugCache"
      ]
    },
    {
      "page": "dot-file.move",
      "title": "Move a file to a new location - Defunct - use 'hardLinkOrCopy'",
      "topics": [
        ".file.move"
      ]
    },
    {
      "page": "isSpatial",
      "title": "Some spatial helper functions",
      "topics": [
        ".isCRSany",
        ".isGridded",
        ".isSF",
        ".isSpat",
        ".isSpatialAny",
        ".isVector",
        "isSpatial"
      ]
    },
    {
      "page": "dot-isMemoised",
      "title": "Evaluate whether a cacheId is memoised",
      "topics": [
        ".isMemoised"
      ]
    },
    {
      "page": "dot-objSizeWithTry",
      "title": "'lobstr::obj_size' with a 'try' to address issue #72",
      "topics": [
        ".objSizeWithTry"
      ]
    },
    {
      "page": "prefix",
      "title": "Add a prefix or suffix to the basename part of a file path",
      "topics": [
        ".prefix",
        ".suffix",
        "suffix"
      ]
    },
    {
      "page": "prepareFileBackedRaster",
      "title": "Copy the file-backing of a file-backed Raster* object",
      "topics": [
        ".prepareFileBackedRaster"
      ]
    },
    {
      "page": "dot-removeCacheAtts",
      "title": "Remove attributes that are highly varying",
      "topics": [
        ".removeCacheAtts"
      ]
    },
    {
      "page": "dot-requireNamespace",
      "title": "Provide standard messaging for missing package dependencies",
      "topics": [
        ".requireNamespace"
      ]
    },
    {
      "page": "setSubAttrInList",
      "title": "Set subattributes within a list by reference",
      "topics": [
        ".setSubAttrInList"
      ]
    },
    {
      "page": "dot-whereInStack",
      "title": "Search for objects in the call stack",
      "topics": [
        ".whereInStack"
      ]
    },
    {
      "page": "dotWrap",
      "title": "Deal with class for saving to and loading from Cache or Disk",
      "topics": [
        ".unwrap",
        ".unwrap.data.table",
        ".unwrap.default",
        ".unwrap.environment",
        ".unwrap.list",
        ".unwrap.PackedSpatExtent2",
        ".unwrap.PackedSpatVector",
        ".unwrap.PackedSpatVector2",
        ".wrap",
        ".wrap.default",
        ".wrap.environment",
        ".wrap.list"
      ]
    },
    {
      "page": "assessDataType",
      "title": "Assess the appropriate raster layer data type",
      "topics": [
        "assessDataType",
        "assessDataType.default"
      ]
    },
    {
      "page": "basename2",
      "title": "A version of 'base::basename' that is 'NULL' resistant",
      "topics": [
        "basename2"
      ]
    },
    {
      "page": "Cache",
      "title": "Saves a wide variety function call outputs to disk and optionally RAM, for recovery later",
      "topics": [
        "Cache",
        "cache2",
        "CacheV2"
      ]
    },
    {
      "page": "CacheDigest",
      "title": "The exact digest function that 'Cache' uses",
      "topics": [
        "CacheDigest"
      ]
    },
    {
      "page": "CacheGeo",
      "title": "Cache-like function for spatial domains",
      "topics": [
        "CacheGeo"
      ]
    },
    {
      "page": "cacheId",
      "title": "Extract the cache id of an object",
      "topics": [
        "cacheId"
      ]
    },
    {
      "page": "checkAndMakeCloudFolderID",
      "title": "Check for presence of 'checkFolderID' (for 'Cache(useCloud)')",
      "topics": [
        "checkAndMakeCloudFolderID"
      ]
    },
    {
      "page": "checkPath",
      "title": "Check directory path",
      "topics": [
        "checkPath",
        "checkPath,character,logical-method",
        "checkPath,character,missing-method",
        "checkPath,missing,ANY-method",
        "checkPath,NULL,ANY-method"
      ]
    },
    {
      "page": "checkRelative",
      "title": "An alternative to 'basename' and 'dirname' when there are sub-folders",
      "topics": [
        "checkRelative"
      ]
    },
    {
      "page": "Checksums",
      "title": "Calculate checksum",
      "topics": [
        "Checksums",
        "Checksums,character,logical-method",
        "Checksums,character,missing-method"
      ]
    },
    {
      "page": "cloudDownload",
      "title": "Download from cloud, if necessary",
      "topics": [
        "cloudDownload"
      ]
    },
    {
      "page": "compareNA",
      "title": "'NA'-aware comparison of two vectors",
      "topics": [
        "compareNA"
      ]
    },
    {
      "page": "convertCallToCommonFormat",
      "title": "Convert all ways of calling a function into canonical form, including defaults",
      "topics": [
        "convertCallToCommonFormat"
      ]
    },
    {
      "page": "convertPaths",
      "title": "Change the absolute path of a file",
      "topics": [
        "convertPaths",
        "convertRasterPaths"
      ]
    },
    {
      "page": "Copy",
      "title": "Recursive copying of nested environments, and other \"hard to copy\" objects",
      "topics": [
        "Copy",
        "Copy,ANY-method",
        "Copy,data.frame-method",
        "Copy,data.table-method",
        "Copy,list-method",
        "Copy,refClass-method"
      ]
    },
    {
      "page": "copyFile",
      "title": "Copy a file using 'robocopy' on Windows and 'rsync' on Linux/macOS",
      "topics": [
        "copyFile",
        "copySingleFile"
      ]
    },
    {
      "page": "CacheHelpers",
      "title": "Low-level functions to create and work with a cache",
      "topics": [
        "CacheDBFile",
        "CacheDBTableName",
        "CacheIsACache",
        "CacheStorageDir",
        "CacheStoredFile",
        "createCache",
        "extractFromCache",
        "loadFromCache",
        "rmFromCache"
      ]
    },
    {
      "page": "detectActiveCores",
      "title": "Count Active Threads Based on CPU Usage",
      "topics": [
        "detectActiveCores"
      ]
    },
    {
      "page": "determineFilename",
      "title": "Determine filename, either automatically or manually",
      "topics": [
        "determineFilename"
      ]
    },
    {
      "page": "downloadFile",
      "title": "A wrapper around a set of downloading functions",
      "topics": [
        "downloadFile"
      ]
    },
    {
      "page": "downloadRemote",
      "title": "Download a remote file",
      "topics": [
        "downloadRemote"
      ]
    },
    {
      "page": "extractFromArchive",
      "title": "Extract files from archive",
      "topics": [
        "extractFromArchive"
      ]
    },
    {
      "page": "Filenames",
      "title": "Return the filename(s) from a Raster* object",
      "topics": [
        "Filenames",
        "Filenames,ANY-method",
        "Filenames,data.table-method",
        "Filenames,environment-method",
        "Filenames,list-method",
        "Filenames,Path-method"
      ]
    },
    {
      "page": "fixErrorsIn",
      "title": "Fix common errors in GIS layers, using 'terra'",
      "topics": [
        "fixErrorsIn"
      ]
    },
    {
      "page": "gdalwarpFns",
      "title": "3-Step postProcess sequence for SpatRasters using 'gdalwarp'",
      "topics": [
        "gdalMask",
        "gdalProject",
        "gdalResample"
      ]
    },
    {
      "page": "relativePaths",
      "title": "Relative paths",
      "topics": [
        "getRelative",
        "makeRelative"
      ]
    },
    {
      "page": "harmonizeCall",
      "title": "Harmonize all forms of call",
      "topics": [
        "harmonizeCall"
      ]
    },
    {
      "page": "internetExists",
      "title": "Checks for existed of a url or the internet using <https://CRAN.R-project.org>",
      "topics": [
        "internetExists",
        "urlExists"
      ]
    },
    {
      "page": "isUpdated",
      "title": "Has a cached object has been updated?",
      "topics": [
        "isUpdated"
      ]
    },
    {
      "page": "keepOrigGeom",
      "title": "Keep original geometries of 'sf' objects",
      "topics": [
        "keepOrigGeom"
      ]
    },
    {
      "page": "linkOrCopy",
      "title": "Hardlink, symlink, or copy a file",
      "topics": [
        "linkOrCopy"
      ]
    },
    {
      "page": "listNamed",
      "title": "Create a list with names from object names",
      "topics": [
        "listNamed"
      ]
    },
    {
      "page": "loadFile",
      "title": "Load a file from the cache",
      "topics": [
        "loadFile"
      ]
    },
    {
      "page": "makeUrlRemap",
      "title": "Build a URL remap function from a manifest",
      "topics": [
        "makeUrlRemap"
      ]
    },
    {
      "page": "matchCall2",
      "title": "Remove 'quote' and determine if call uses '...'",
      "topics": [
        "matchCall2"
      ]
    },
    {
      "page": "mergeCache",
      "title": "Merge two cache repositories together",
      "topics": [
        "mergeCache",
        "mergeCache,ANY-method"
      ]
    },
    {
      "page": "messageColoured",
      "title": "Use 'message' with a consistent use of 'verbose'",
      "topics": [
        ".messageFunctionFn",
        "messageCache",
        "messageColoured",
        "messageDF",
        "messagePrepInputs",
        "messagePreProcess",
        "messageQuestion"
      ]
    },
    {
      "page": "terra-migration",
      "title": "Get min or maximum value of a (Spat)Raster",
      "topics": [
        "dataType2",
        "maxFn",
        "minFn",
        "nlayers2",
        "values2"
      ]
    },
    {
      "page": "movedCache",
      "title": "Deal with moved cache issues",
      "topics": [
        "movedCache"
      ]
    },
    {
      "page": "normPath",
      "title": "Normalize file paths",
      "topics": [
        "normPath",
        "normPath,character-method",
        "normPath,list-method",
        "normPath,logical-method",
        "normPath,missing-method",
        "normPath,NULL-method",
        "normPathRel"
      ]
    },
    {
      "page": "numCoresToUse",
      "title": "Estimate Number of CPU Cores to Use for Parallel Processing",
      "topics": [
        "numCoresToUse"
      ]
    },
    {
      "page": "objSize",
      "title": "Wrapper around 'lobstr::obj_size'",
      "topics": [
        "objSize",
        "objSizeSession"
      ]
    },
    {
      "page": "paddedFloatToChar",
      "title": "Convert numeric to character with padding",
      "topics": [
        "paddedFloatToChar"
      ]
    },
    {
      "page": "Path-class",
      "title": "Coerce a character string to a class \"Path\"",
      "topics": [
        "asPath",
        "asPath.character",
        "asPath.null",
        "Path-class"
      ]
    },
    {
      "page": "postProcess",
      "title": "Generic function to post process objects",
      "topics": [
        "postProcess",
        "postProcess.default",
        "postProcess.list"
      ]
    },
    {
      "page": "postProcessTo",
      "title": "Transform a GIS dataset so it has the properties (extent, projection, mask) of another",
      "topics": [
        "cropTo",
        "maskTo",
        "postProcessTerra",
        "postProcessTo",
        "projectTo",
        "writeTo"
      ]
    },
    {
      "page": "prepInputs",
      "title": "Download and optionally post-process files",
      "topics": [
        "prepInputs"
      ]
    },
    {
      "page": "prepInputsCOG",
      "title": "Fast spatial subsetting of Cloud Optimized GeoTiff (COG) files",
      "topics": [
        "prepInputsCOG"
      ]
    },
    {
      "page": "prepInputsLog",
      "title": "URL access log for 'prepInputs' / 'preProcess'",
      "topics": [
        "clearUrlLog",
        "prepInputsLog"
      ]
    },
    {
      "page": "prepInputsWithTiles",
      "title": "Alternative to 'prepInputs' that can use Spatial Tiles stored locally or on Google Drive",
      "topics": [
        "prepInputsWithTiles"
      ]
    },
    {
      "page": "prepopulateCacheAsync",
      "title": "Pre-populate the in-memory 'showCache' cache for a given 'cachePath'",
      "topics": [
        "prepopulateCacheAsync"
      ]
    },
    {
      "page": "preProcess",
      "title": "Download, checksum, extract files",
      "topics": [
        "preProcess",
        "preProcessParams"
      ]
    },
    {
      "page": "purgeChecksums",
      "title": "Purge the checksums of a single file",
      "topics": [
        "purgeChecksums"
      ]
    },
    {
      "page": "rasterRead",
      "title": "A helper to 'getOption(\"reproducible.rasterRead\")'",
      "topics": [
        "rasterRead"
      ]
    },
    {
      "page": "remapFilenames",
      "title": "Remap file names",
      "topics": [
        "remapFilenames"
      ]
    },
    {
      "page": "reproducibleOptions",
      "title": "'reproducible' options",
      "topics": [
        "reproducibleOptions"
      ]
    },
    {
      "page": "retry",
      "title": "A wrapper around 'try' that retries on failure",
      "topics": [
        "retry"
      ]
    },
    {
      "page": "saveToCache",
      "title": "Save an object to Cache",
      "topics": [
        "saveToCache"
      ]
    },
    {
      "page": "search",
      "title": "Search up the full scope for functions",
      "topics": [
        "searchFull",
        "searchFullEx"
      ]
    },
    {
      "page": "set.randomseed",
      "title": "Set seed with a random value using Sys.time()",
      "topics": [
        "set.randomseed"
      ]
    },
    {
      "page": "viewCache",
      "title": "Examining and modifying the cache",
      "topics": [
        "cc",
        "clearCache",
        "clearCache,ANY-method",
        "keepCache",
        "keepCache,ANY-method",
        "showCache",
        "showCache,ANY-method"
      ]
    },
    {
      "page": "studyAreaName",
      "title": "Get a unique name for a given study area",
      "topics": [
        "studyAreaName",
        "studyAreaName,ANY-method",
        "studyAreaName,character-method"
      ]
    },
    {
      "page": "tempdir2",
      "title": "Make a temporary (sub-)directory",
      "topics": [
        "tempdir2"
      ]
    },
    {
      "page": "tempfile2",
      "title": "Make a temporary file in a temporary (sub-)directory",
      "topics": [
        "tempfile2"
      ]
    },
    {
      "page": "unrarPath",
      "title": "The known path for unrar or 7z",
      "topics": [
        ".systemArchivePath",
        "unrarPath"
      ]
    },
    {
      "page": "usesPointer",
      "title": "Does an object use a pointer?",
      "topics": [
        "usesPointer"
      ]
    },
    {
      "page": "writeFuture",
      "title": "Write to cache repository, using 'future::future'",
      "topics": [
        "writeFuture"
      ]
    }
  ],
  "_readme": "https://github.com/PredictiveEcology/reproducible/raw/development/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "crayon",
    "data.table",
    "digest",
    "filelock",
    "fpCompare",
    "fs",
    "lobstr",
    "prettyunits",
    "rlang"
  ],
  "_vignettes": [
    {
      "source": "Intro-to-Cache.Rmd",
      "filename": "Intro-to-Cache.html",
      "title": "Introduction to Cache",
      "author": "Eliot J. B. McIntire",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Reproducible workflow",
        "Differences with other approaches",
        "Function-level caching",
        "Caching examples",
        "Basic use",
        "Example 1: Basic cache use with tags",
        "Example 2: using the \"accessed\" tag",
        "Example 3: using keepCache",
        "Example 4: searching for multiple objects in the cache",
        "Example 5: using caching to speed up rerunning expensive computations",
        "Nested Caching",
        "cacheId",
        "Working with the Cache manually",
        "Alternative database backends"
      ],
      "created": "2018-06-14 01:13:22",
      "modified": "2026-05-15 18:10:52",
      "commits": 15
    }
  ],
  "_score": 10.139538295912077,
  "_indexed": true,
  "_nocasepkg": "reproducible",
  "_universes": [
    "predictiveecology"
  ],
  "_previous": "3.1.1.9035",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "3.1.1.9036",
      "date": "2026-06-04T19:29:17.000Z",
      "distro": "noble",
      "commit": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
      "fileid": "33cfdfea5cdcd97835049bf28287d4a5a6f7b8577294c9a53eb05ec2e7bb5770",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "3.1.1.9036",
      "date": "2026-06-04T19:29:12.000Z",
      "distro": "noble",
      "commit": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
      "fileid": "a2e0626726a159e4e671d54c12f769117ad30eecb2b9f76c000e1c97191fd980",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "3.1.1.9036",
      "date": "2026-06-04T19:28:58.000Z",
      "commit": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
      "fileid": "80e0bc502ec83391799a18d0049dc6ccd00a25a14d96c68eec15346347d06986",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "3.1.1.9036",
      "date": "2026-06-04T19:28:16.000Z",
      "commit": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
      "fileid": "ea5fa9081b11002f91003ba204aa2472ec895d4336599f55ffa119271c3ab748",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "3.1.1.9036",
      "date": "2026-06-04T19:29:20.000Z",
      "commit": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
      "fileid": "feb8037931949bc5f78da17722e047d4a1dd8260cda11581254d456835d6d107",
      "status": "success",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "3.1.1.9036",
      "date": "2026-06-04T19:30:45.000Z",
      "commit": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
      "fileid": "ae9dfd10f3b94e4012a6a239266bf2361877753dce199e501c21e42e07c191bb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "3.1.1.9036",
      "date": "2026-06-04T19:29:46.000Z",
      "commit": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
      "fileid": "0a79989ccb2e524d9380bb324299d34f3438aaf5655c705939cf6460525b6ff5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "3.1.1.9036",
      "date": "2026-06-04T19:28:08.000Z",
      "commit": "63cf18a80efa5dcf40957d6f207fce55fa0fdc19",
      "fileid": "de373460431b029f288ea1b52ee80fb8b021412e082ba4e0ee3d3eea59ca88fc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/26974280648"
    }
  ]
}