{
  "_id": "6aabaf1b3d719c1f8406d566",
  "Package": "cmdfun",
  "Type": "Package",
  "Title": "Framework for Building Interfaces to Shell Commands",
  "Version": "1.0.2",
  "Authors@R": "person(\"Spencer\", \"Nystrom\", \nemail = \"nystromdev@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0003-1000-1579\"))",
  "Description": "Writing interfaces to command line software is cumbersome.\n'cmdfun' provides a framework for building function calls to\nseamlessly interface with shell commands by allowing lazy\nevaluation of command line arguments. 'cmdfun' also provides\nmethods for handling user-specific paths to tool installs or\nsecrets like API keys. Its focus is to equally serve package\nbuilders who wish to wrap command line software, and to help\nanalysts stay inside R when they might usually leave to execute\nnon-R software.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.0.2",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "URL": "https://snystrom.github.io/cmdfun/,\nhttps://github.com/snystrom/cmdfun",
  "BugReports": "https://github.com/snystrom/cmdfun",
  "Config/pak/sysreqs": "cmake git make libgit2-dev libuv1-dev libssl-dev\nlibx11-dev",
  "Repository": "https://snystrom.r-universe.dev",
  "Date/Publication": "2020-10-12 21:53:10 UTC",
  "RemoteUrl": "https://github.com/snystrom/cmdfun",
  "RemoteRef": "HEAD",
  "RemoteSha": "3aa798c65a88a5fe3598f23317acfda9868027d3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-17 08:35:19 UTC",
    "User": "root"
  },
  "Author": "Spencer Nystrom [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-1000-1579>)",
  "Maintainer": "Spencer Nystrom <nystromdev@gmail.com>",
  "_user": "snystrom",
  "_type": "src",
  "_file": "cmdfun_1.0.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/b9b7b50d9862c12dc68df27600cfadd23dab8658cc47a58ebfbfdb62fda53597",
  "_filesize": 160982,
  "_sha256": "b9b7b50d9862c12dc68df27600cfadd23dab8658cc47a58ebfbfdb62fda53597",
  "_expires": "2026-12-26T09:12:57.000Z",
  "_created": "2026-09-17T08:35:19.000Z",
  "_published": "2026-09-17T09:12:59.233Z",
  "_jobs": [
    {
      "job": 105133820683,
      "time": 122,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10488246279"
    },
    {
      "job": 105133820664,
      "time": 153,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10487837003"
    },
    {
      "job": 105133820611,
      "time": 176,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10489036450"
    },
    {
      "job": 105133820651,
      "time": 139,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10488648608"
    },
    {
      "job": 105132942519,
      "time": 178,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10487347952"
    },
    {
      "job": 105133820584,
      "time": 114,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10487537615"
    },
    {
      "job": 105133820622,
      "time": 72,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10487930868"
    },
    {
      "job": 105133820657,
      "time": 69,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10487233554"
    },
    {
      "job": 105133820636,
      "time": 69,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10488485000"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055",
  "_status": "success",
  "_upstream": "https://github.com/snystrom/cmdfun",
  "_commit": {
    "id": "3aa798c65a88a5fe3598f23317acfda9868027d3",
    "author": "snystrom <snystrom@users.noreply.github.com>",
    "committer": "snystrom <snystrom@users.noreply.github.com>",
    "message": "remove cran-comments.md\n",
    "time": 1602539590
  },
  "_maintainer": {
    "name": "Spencer Nystrom",
    "email": "nystromdev@gmail.com",
    "orcid": "0000-0003-1000-1579"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "R.utils",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "role": "Imports"
    },
    {
      "package": "usethis",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "processx",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "snystrom",
  "_selfowned": true,
  "_usedby": 7,
  "_updates": [],
  "_tags": [],
  "_stars": 17,
  "_contributors": [
    {
      "user": "snystrom",
      "count": 164,
      "uuid": 17264973
    },
    {
      "user": "lcolladotor",
      "count": 1,
      "uuid": 2288213
    }
  ],
  "_userbio": {
    "uuid": 17264973,
    "type": "user",
    "name": "Sabrina Nystrom",
    "followers": 33,
    "description": "Data science, genetics, distributed systems.\r\n\r\nLead Software Engineer @ Recast"
  },
  "_downloads": {
    "count": 604,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/cmdfun"
  },
  "_devurl": "https://github.com/snystrom/cmdfun",
  "_pkgdown": "https://snystrom.github.io/cmdfun/",
  "_searchresults": 7,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/cmdfun.html",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/snystrom/cmdfun",
  "_realowner": "snystrom",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.1",
      "date": "2020-09-20"
    },
    {
      "version": "1.0.2",
      "date": "2020-10-10"
    }
  ],
  "_exports": [
    ".check_valid_command_path",
    ".check_valid_util",
    "cmd_args_all",
    "cmd_args_dots",
    "cmd_args_named",
    "cmd_error_if_missing",
    "cmd_file_combn",
    "cmd_file_expect",
    "cmd_help_flags_similar",
    "cmd_help_flags_suggest",
    "cmd_help_parse_flags",
    "cmd_install_check",
    "cmd_install_is_valid",
    "cmd_list_drop",
    "cmd_list_drop_named",
    "cmd_list_interp",
    "cmd_list_keep",
    "cmd_list_keep_named",
    "cmd_list_to_flags",
    "cmd_path_search",
    "cmd_ui_file_exists"
  ],
  "_help": [
    {
      "page": "dot-check_valid_command_path",
      "title": "Checks path is valid",
      "topics": [
        ".check_valid_command_path"
      ]
    },
    {
      "page": "dot-check_valid_util",
      "title": "Checks for valid members of subdirectory",
      "topics": [
        ".check_valid_util"
      ]
    },
    {
      "page": "cmd_args_all",
      "title": "Return all named arguments and arguments passed as dots from parent function call",
      "topics": [
        "cmd_args_all"
      ]
    },
    {
      "page": "cmd_args_dots",
      "title": "return function dots from parent function as named list",
      "topics": [
        "cmd_args_dots"
      ]
    },
    {
      "page": "cmd_args_named",
      "title": "Return all named arguments from parent function call",
      "topics": [
        "cmd_args_named"
      ]
    },
    {
      "page": "cmd_error_if_missing",
      "title": "Check that file(s) exist, error if not",
      "topics": [
        "cmd_error_if_missing"
      ]
    },
    {
      "page": "cmd_file_combn",
      "title": "Generates list of expected output files",
      "topics": [
        "cmd_file_combn"
      ]
    },
    {
      "page": "cmd_file_expect",
      "title": "Creates list of paths by file extension & checks they exist",
      "topics": [
        "cmd_file_expect"
      ]
    },
    {
      "page": "cmd_help_flags_similar",
      "title": "Suggest alternative name by minimizing Levenshtein edit distance between valid and invalid arguments",
      "topics": [
        "cmd_help_flags_similar"
      ]
    },
    {
      "page": "cmd_help_flags_suggest",
      "title": "Error & Suggest different flag name to user",
      "topics": [
        "cmd_help_flags_suggest"
      ]
    },
    {
      "page": "cmd_help_parse_flags",
      "title": "Parses commandline help options to return vector of valid flag names",
      "topics": [
        "cmd_help_parse_flags"
      ]
    },
    {
      "page": "cmd_install_check",
      "title": "Wrapper function for checking an install",
      "topics": [
        "cmd_install_check"
      ]
    },
    {
      "page": "cmd_install_is_valid",
      "title": "Macro for constructing boolean check for valid path",
      "topics": [
        "cmd_install_is_valid"
      ]
    },
    {
      "page": "cmd_list_drop",
      "title": "Drop entries from list of flags by name, name/value pair, or index",
      "topics": [
        "cmd_list_drop"
      ]
    },
    {
      "page": "cmd_list_drop_named",
      "title": "Drop items by name from list",
      "topics": [
        "cmd_list_drop_named"
      ]
    },
    {
      "page": "cmd_list_interp",
      "title": "Convert list of function arguments to list of command flags",
      "topics": [
        "cmd_list_interp"
      ]
    },
    {
      "page": "cmd_list_keep",
      "title": "keep entries from list of flags by name, name/value pair, or index",
      "topics": [
        "cmd_list_keep"
      ]
    },
    {
      "page": "cmd_list_keep_named",
      "title": "Keep items by name from list",
      "topics": [
        "cmd_list_keep_named"
      ]
    },
    {
      "page": "cmd_list_to_flags",
      "title": "Convert flag list to vector of command flags",
      "topics": [
        "cmd_list_to_flags"
      ]
    },
    {
      "page": "cmd_path_search",
      "title": "Macro for constructing target path validators",
      "topics": [
        "cmd_path_search"
      ]
    },
    {
      "page": "cmd_ui_file_exists",
      "title": "Checks if file exists, returns pretty status message",
      "topics": [
        "cmd_ui_file_exists"
      ]
    }
  ],
  "_readme": "https://github.com/snystrom/cmdfun/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "brio",
    "callr",
    "cli",
    "clipr",
    "crayon",
    "credentials",
    "curl",
    "desc",
    "diffobj",
    "evaluate",
    "fs",
    "gert",
    "gitcreds",
    "glue",
    "httr2",
    "ini",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "openssl",
    "otel",
    "pak",
    "pkgbuild",
    "pkgload",
    "praise",
    "processx",
    "ps",
    "purrr",
    "R.methodsS3",
    "R.oo",
    "R.utils",
    "R6",
    "rappdirs",
    "rlang",
    "rprojroot",
    "rstudioapi",
    "sys",
    "testthat",
    "usethis",
    "vctrs",
    "waldo",
    "whisker",
    "withr",
    "yaml",
    "zip"
  ],
  "_vignettes": [
    {
      "source": "cmdfun.Rmd",
      "filename": "cmdfun.html",
      "title": "cmdfun",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2020-08-24 21:06:24",
      "modified": "2020-10-02 13:05:16",
      "commits": 10
    }
  ],
  "_score": 6.251638220448212,
  "_indexed": true,
  "_nocasepkg": "cmdfun",
  "_universes": [
    "snystrom"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.2",
      "date": "2026-09-17T08:37:24.000Z",
      "distro": "resolute",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "https://r2.ropensci.org/4dbaaf379be827c3057ab5523ee60213195142ab115ce64a2c1bba079d182641",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.2",
      "date": "2026-09-17T08:37:51.000Z",
      "distro": "resolute",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "https://r2.ropensci.org/0bb93bb2ff6049d1f8f917abdeb823297d14b410d485fb411a5f28152ee9f3ad",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.2",
      "date": "2026-09-17T09:08:09.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "https://r2.ropensci.org/4c75546486986710e0e6d53b82e61ddf7bc0d003cc908144544b59dc0b420464",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.2",
      "date": "2026-09-17T09:12:02.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "https://r2.ropensci.org/182d056f17c6f0c1c20dbd200a6dc5de8ec95be26e9243347cd013fd5ab49ab8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.2",
      "date": "2026-09-17T08:37:28.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "https://r2.ropensci.org/5df394dda40fdde486b9e0323628f382b8455a74ab08d3801e1400e77d6c2834",
      "status": "success",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-09-17T08:36:20.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "https://r2.ropensci.org/ae1f7b5cd755301f3009e44bc7fe9eaa4a409e085c27a79feda87424c494adb4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-09-17T08:36:24.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "https://r2.ropensci.org/c4a46900050d7dbfbebb0da12e98eb50f3e02cbeead5fc028c395eb2f621c6b4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-09-17T08:36:23.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "https://r2.ropensci.org/e67764a7364f0fc9a488795430e7d754cca3cf779601914ef4a18232fab12180",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/35200180055"
    }
  ]
}