{
  "_id": "6acb7c8dfe5cc25786e90b26",
  "Package": "courieR",
  "Type": "Package",
  "Title": "Migrate Installed R Packages Between R Versions",
  "Version": "0.3.1",
  "Authors@R": "c(person(\"Lennon\", \"Li\", , \"yeli@biostats.ai\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0001-6338-7474\")),\nperson(\"Claude Fable\", role = \"ctb\",\ncomment = \"AI co-author (Anthropic)\"),\nperson(\"Claude Opus\", role = \"ctb\",\ncomment = \"AI co-author (Anthropic)\"),\nperson(\"Claude Sonnet\", role = \"ctb\",\ncomment = \"AI co-author (Anthropic)\"),\nperson(\"OpenAI Codex\", role = \"ctb\",\ncomment = \"AI co-author (OpenAI)\"))",
  "Description": "Detects all R installations on the current machine and\nmigrates installed R packages between them. Provides\nfind_routes() to discover R versions, manifest() to scan\npackage libraries in a child R process, inventory() to compare\ntwo libraries, and ship() to install packages into a target R\nversion using 'pak'. Includes a Shiny dashboard (open_hub())\nfor interactive source-to-target migration.",
  "License": "MIT + file LICENSE",
  "URL": "https://lennon-li.github.io/courieR/,\nhttps://github.com/lennon-li/courieR",
  "BugReports": "https://github.com/lennon-li/courieR/issues",
  "Language": "en-US",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "8.0.0",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "cmake make libuv1-dev zlib1g-dev",
  "Repository": "https://lennon-li.r-universe.dev",
  "Date/Publication": "2026-10-06 19:53:07 UTC",
  "RemoteUrl": "https://github.com/lennon-li/courier",
  "RemoteRef": "HEAD",
  "RemoteSha": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-11 12:07:06 UTC",
    "User": "root"
  },
  "Author": "Lennon Li [aut, cre] (ORCID: <https://orcid.org/0000-0001-6338-7474>),\nClaude Fable [ctb] (AI co-author (Anthropic)),\nClaude Opus [ctb] (AI co-author (Anthropic)),\nClaude Sonnet [ctb] (AI co-author (Anthropic)),\nOpenAI Codex [ctb] (AI co-author (OpenAI))",
  "Maintainer": "Lennon Li <yeli@biostats.ai>",
  "_user": "lennon-li",
  "_type": "src",
  "_file": "courieR_0.3.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/8e039d87a4254f750eff86b7c74dfb9a89a1eb196ace94dcbc4aa8d080b47b95",
  "_filesize": 3288265,
  "_sha256": "8e039d87a4254f750eff86b7c74dfb9a89a1eb196ace94dcbc4aa8d080b47b95",
  "_expires": "2027-01-19T12:09:47.000Z",
  "_created": "2026-10-11T12:07:06.000Z",
  "_published": "2026-10-11T12:09:49.780Z",
  "_buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114465984381,
      "time": 129,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11701392533"
    },
    {
      "job": 114465984459,
      "time": 125,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11701772811"
    },
    {
      "job": 114465984343,
      "time": 105,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11701872518"
    },
    {
      "job": 114465984412,
      "time": 96,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11701192834"
    },
    {
      "job": 114465413279,
      "time": 179,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11701367533"
    },
    {
      "job": 114465984347,
      "time": 109,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11702276669"
    },
    {
      "job": 114465984366,
      "time": 67,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11701262634"
    },
    {
      "job": 114465984367,
      "time": 88,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11701532135"
    },
    {
      "job": 114465984346,
      "time": 81,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11701518537"
    }
  ],
  "_upstream": "https://github.com/lennon-li/courier",
  "_commit": {
    "id": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
    "author": "Lennon Li <yeli@biostats.ai>",
    "committer": "Lennon Li <yeli@biostats.ai>",
    "message": "docs: regenerate package Rd to match source + add docs-current CI\n\nThe committed man/courieR-package.Rd was stale: the description wording\n(\"subprocess\" -> \"child R process\") and the Authors@R AI co-author\ncontributors present in DESCRIPTION had not been propagated. Regenerate\nwith roxygen2 so docs match source, and port the docs-current workflow\nfrom cranary to prevent recurrence.\n",
    "time": 1791316387
  },
  "_maintainer": {
    "name": "Lennon Li",
    "email": "yeli@biostats.ai",
    "orcid": "0000-0001-6338-7474"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "processx",
      "version": ">= 3.8.0",
      "role": "Imports"
    },
    {
      "package": "callr",
      "version": ">= 3.7.0",
      "role": "Imports"
    },
    {
      "package": "pak",
      "version": ">= 0.7.0",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "version": ">= 1.8.0",
      "role": "Imports"
    },
    {
      "package": "desc",
      "version": ">= 1.4.0",
      "role": "Imports"
    },
    {
      "package": "fs",
      "version": ">= 1.6.0",
      "role": "Imports"
    },
    {
      "package": "cli",
      "version": ">= 3.6.0",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "version": ">= 1.14.0",
      "role": "Imports"
    },
    {
      "package": "shiny",
      "version": ">= 1.8.0",
      "role": "Imports"
    },
    {
      "package": "shinyjs",
      "version": ">= 2.1.0",
      "role": "Imports"
    },
    {
      "package": "bslib",
      "version": ">= 0.7.0",
      "role": "Imports"
    },
    {
      "package": "bsicons",
      "version": ">= 0.1.2",
      "role": "Imports"
    },
    {
      "package": "DT",
      "version": ">= 0.31",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "version": ">= 1.5.0",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "mockery",
      "version": ">= 0.4.4",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "version": ">= 1.45",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "version": ">= 2.26",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "version": ">= 2.0.0",
      "role": "Suggests"
    },
    {
      "package": "shinytest2",
      "version": ">= 0.3.0",
      "role": "Suggests"
    },
    {
      "package": "chromote",
      "version": ">= 0.1.0",
      "role": "Suggests"
    }
  ],
  "_owner": "lennon-li",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-19",
      "n": 7
    },
    {
      "week": "2026-20",
      "n": 1
    },
    {
      "week": "2026-21",
      "n": 3
    },
    {
      "week": "2026-22",
      "n": 1
    },
    {
      "week": "2026-23",
      "n": 25
    },
    {
      "week": "2026-24",
      "n": 36
    },
    {
      "week": "2026-28",
      "n": 1
    },
    {
      "week": "2026-41",
      "n": 1
    }
  ],
  "_tags": [],
  "_topics": [
    "ai-implemented",
    "claude-code",
    "package-management"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "lennon-li",
      "count": 28,
      "uuid": 85519713
    }
  ],
  "_userbio": {
    "uuid": 85519713,
    "type": "user",
    "name": "Ye (Lennon) Li",
    "followers": 3
  },
  "_downloads": {
    "count": 402,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/courieR"
  },
  "_devurl": "https://github.com/lennon-li/courier",
  "_pkgdown": "https://lennon-li.github.io/courieR/",
  "_searchresults": 20,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/courieR.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/lennon-li/courier",
  "_realowner": "lennon-li",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2026-05-30"
    },
    {
      "version": "0.2.2",
      "date": "2026-06-04"
    },
    {
      "version": "0.3.1",
      "date": "2026-06-14"
    }
  ],
  "_exports": [
    "dispatch",
    "find_routes",
    "hub",
    "inspect_shipment",
    "inventory",
    "manifest",
    "migrate",
    "open_depot",
    "open_hub",
    "parse_dispatch_log",
    "parse_inspection_log",
    "rate_shipment",
    "report_issue",
    "rig_available",
    "rig_install",
    "rig_list",
    "ship",
    "take_inventory",
    "wrap"
  ],
  "_help": [
    {
      "page": "dispatch",
      "title": "Run an R command in the background and log output",
      "topics": [
        "dispatch"
      ]
    },
    {
      "page": "find_routes",
      "title": "Detect R installations on the system",
      "topics": [
        "find_routes"
      ]
    },
    {
      "page": "inspect_shipment",
      "title": "Detect project characteristics",
      "topics": [
        "inspect_shipment"
      ]
    },
    {
      "page": "inventory",
      "title": "Compare two package libraries",
      "topics": [
        "inventory"
      ]
    },
    {
      "page": "manifest",
      "title": "List packages installed in a library",
      "topics": [
        "manifest"
      ]
    },
    {
      "page": "migrate",
      "title": "Migrate packages between two R installations in one call",
      "topics": [
        "migrate"
      ]
    },
    {
      "page": "open_depot",
      "title": "Ensure the courier depot directory structure exists",
      "topics": [
        "open_depot"
      ]
    },
    {
      "page": "open_hub",
      "title": "Launch the courieR dashboard",
      "topics": [
        "hub",
        "open_hub"
      ]
    },
    {
      "page": "parse_dispatch_log",
      "title": "Parse test log",
      "topics": [
        "parse_dispatch_log"
      ]
    },
    {
      "page": "parse_inspection_log",
      "title": "Parse R CMD check log",
      "topics": [
        "parse_inspection_log"
      ]
    },
    {
      "page": "rate_shipment",
      "title": "Classify shipment risk based on check and test results",
      "topics": [
        "rate_shipment"
      ]
    },
    {
      "page": "report_issue",
      "title": "Report a bug or error to the courieR issue tracker",
      "topics": [
        "report_issue"
      ]
    },
    {
      "page": "rig_available",
      "title": "Check if rig is available",
      "topics": [
        "rig_available"
      ]
    },
    {
      "page": "rig_install",
      "title": "Install R via rig",
      "topics": [
        "rig_install"
      ]
    },
    {
      "page": "rig_list",
      "title": "List rig installations",
      "topics": [
        "rig_list"
      ]
    },
    {
      "page": "ship",
      "title": "Ship packages between R installations",
      "topics": [
        "ship"
      ]
    },
    {
      "page": "take_inventory",
      "title": "Scan project dependencies",
      "topics": [
        "take_inventory"
      ]
    },
    {
      "page": "wrap",
      "title": "Generate a pak specification for a package",
      "topics": [
        "wrap"
      ]
    }
  ],
  "_readme": "https://github.com/lennon-li/courier/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bsicons",
    "bslib",
    "cachem",
    "callr",
    "cli",
    "commonmark",
    "crosstalk",
    "data.table",
    "desc",
    "digest",
    "DT",
    "evaluate",
    "fastmap",
    "fontawesome",
    "fs",
    "glue",
    "highr",
    "htmltools",
    "htmlwidgets",
    "httpuv",
    "jquerylib",
    "jsonlite",
    "knitr",
    "later",
    "lazyeval",
    "lifecycle",
    "magrittr",
    "memoise",
    "mime",
    "otel",
    "pak",
    "processx",
    "promises",
    "ps",
    "R6",
    "rappdirs",
    "Rcpp",
    "rlang",
    "rmarkdown",
    "sass",
    "shiny",
    "shinyjs",
    "sourcetools",
    "tinytex",
    "withr",
    "xfun",
    "xtable",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "get-started.Rmd",
      "filename": "get-started.html",
      "title": "Getting Started with courieR",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Installation",
        "Step 1 — Discover Your R Installations",
        "Platform detection",
        "CLI Workflow",
        "Step 2 — Scan a library with manifest()",
        "Step 3 — Compare two libraries with inventory()",
        "Step 4 — Migrate with ship()",
        "Always dry-run first",
        "Include version upgrades",
        "Check results",
        "Migrate GitHub and Bioconductor packages",
        "Transfer modes",
        "Why copy modes need the same R x.y series",
        "Common Recipes",
        "One-way migration (old R → new R)",
        "Mirror two same-version installs",
        "Inspect before migrating",
        "Save a manifest to disk",
        "Dashboard",
        "Bulk Dispatch",
        "Custom Dispatch",
        "Tips"
      ],
      "created": "2026-05-08 14:02:20",
      "modified": "2026-06-13 19:16:51",
      "commits": 10
    },
    {
      "source": "testing.Rmd",
      "filename": "testing.html",
      "title": "Testing Guidelines and Platform Status",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Test suite overview",
        "Running tests",
        "1. Unit + integration tests (standard)",
        "2. E2E browser tests",
        "3. Manual Shiny UI checklist",
        "Bulk Dispatch",
        "Custom Dispatch",
        "Error reporter",
        "CLI",
        "Platform test status",
        "Windows notes",
        "Linux notes",
        "macOS notes",
        "Adding tests"
      ],
      "created": "2026-06-13 19:16:51",
      "modified": "2026-06-13 19:16:51",
      "commits": 1
    }
  ],
  "_score": 5.204119982655925,
  "_indexed": true,
  "_nocasepkg": "courier",
  "_universes": [
    "lennon-li"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.1",
      "date": "2026-10-11T12:09:13.000Z",
      "distro": "resolute",
      "commit": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
      "fileid": "https://r2.ropensci.org/2c17a472d03ec9c9fd10a5333b09110ef6e1b4d5da699c3541987e85cf38e50c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.1",
      "date": "2026-10-11T12:09:08.000Z",
      "distro": "resolute",
      "commit": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
      "fileid": "https://r2.ropensci.org/b8ab35b0b23ad8613d93b19cd16001743d0c96aa9eb0a75fe93d34660330e329",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.1",
      "date": "2026-10-11T12:08:51.000Z",
      "commit": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
      "fileid": "https://r2.ropensci.org/10549188370e54e73844195bb363489e39be4d58778c5c00a3a7469e11470ac0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.1",
      "date": "2026-10-11T12:08:41.000Z",
      "commit": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
      "fileid": "https://r2.ropensci.org/c57407222d1ab874333bc7af143d8792e5d1ce2ae79ca8de1877dbb782bb624c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.1",
      "date": "2026-10-11T12:09:10.000Z",
      "commit": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
      "fileid": "https://r2.ropensci.org/0fbfe38e59496fbc50e3fac89e50e4c832f368c35832440fd42212050ecd2d07",
      "status": "success",
      "buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-10-11T12:08:07.000Z",
      "commit": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
      "fileid": "https://r2.ropensci.org/0e295d9ac129e00cff6e1f77afb8e02dac451f536622991ef3cb91fac0c3bcb0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-10-11T12:08:15.000Z",
      "commit": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
      "fileid": "https://r2.ropensci.org/04a6e81355532205c3086493f9498d26849de37dd69c8cccd0f189a6aadabb1a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-10-11T12:08:18.000Z",
      "commit": "510cd8b4bd345ea51522a3351dc4ef351a41f993",
      "fileid": "https://r2.ropensci.org/3b5c6b727fad33ac33cec9c15c0e0b8ac07944f32e0d59c123ac173ee9688750",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/lennon-li/actions/runs/38137865593"
    }
  ]
}