{
  "_id": "6a1ee408b401979e7341100c",
  "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-05-20 06:21:04 UTC",
    "User": "root"
  },
  "Author": "Spencer Nystrom [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-1000-1579>)",
  "Maintainer": "Spencer Nystrom <nystromdev@gmail.com>",
  "MD5sum": "6a1f9c7c7586cc0953acee3490616303",
  "_user": "snystrom",
  "_type": "src",
  "_file": "cmdfun_1.0.2.tar.gz",
  "_fileid": "1aa1f3b543c6307604f8b070c8b3f85fc1f08aa50c914fdd857dc68effc08918",
  "_filesize": 162194,
  "_sha256": "1aa1f3b543c6307604f8b070c8b3f85fc1f08aa50c914fdd857dc68effc08918",
  "_created": "2026-05-20T06:21:04.000Z",
  "_published": "2026-06-02T14:09:12.227Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79090327562,
      "time": 131,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7102722862"
    },
    {
      "job": 79090327096,
      "time": 134,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7102723544"
    },
    {
      "job": 79090326513,
      "time": 168,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7102724508"
    },
    {
      "job": 79090326794,
      "time": 173,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7102724156"
    },
    {
      "job": 79090326286,
      "time": 1022,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7102690326"
    },
    {
      "job": 79090325791,
      "time": 117,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7360080340"
    },
    {
      "job": 79090327334,
      "time": 84,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7102711448"
    },
    {
      "job": 79090327919,
      "time": 73,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7102708719"
    },
    {
      "job": 79090327807,
      "time": 73,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7102708514"
    }
  ],
  "_buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_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"
  },
  "_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": "Spencer Nystrom",
    "description": "Data science, genetics, distributed systems.\r\n\r\nLead Software Engineer @ Recast"
  },
  "_downloads": {
    "count": 581,
    "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.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/cmdfun.html",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_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",
    "gh",
    "gitcreds",
    "glue",
    "httr2",
    "ini",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "openssl",
    "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-05-20T06:24:09.000Z",
      "distro": "noble",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "49e121b6d4275f6cc2dae827b2f6c69eac1f9982ba0b97a3225b641c2a50da63",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.2",
      "date": "2026-05-20T06:24:11.000Z",
      "distro": "noble",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "26a1968a6aa4a08ba3fb383569c0ebfca62b5d51be529e8821173fa30e84f569",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.2",
      "date": "2026-05-20T06:24:20.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "a184ed3f1e7e3b16b33dc03c0e773e6faba4506e0f1fc150fdda888d6569f115",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.2",
      "date": "2026-05-20T06:24:16.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "9edb38a37adda9271ecdb48e2df0d50f87fe2b26c3ee60f1417a57b4dbe6f947",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-20T06:23:15.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "dd9e1b388f8661102a2307072bfadc093e41cbcc5dbde55e4a95f7c12da92ed0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-20T06:23:09.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "07f2397109f1a1c734495ea1c7fa9f661db561607db3a522a1e4b1ef2920af55",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-20T06:23:07.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "2a5c5322ff89ad53624f74299337b6a4f6f666e35a6e301e059d352140cadaee",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.2",
      "date": "2026-06-02T14:08:23.000Z",
      "commit": "3aa798c65a88a5fe3598f23317acfda9868027d3",
      "fileid": "6e8a9248df2c615601e6113e547c43df071966e12c88a9b8b2f9bb19a86b5342",
      "status": "success",
      "buildurl": "https://github.com/r-universe/snystrom/actions/runs/26144630878"
    }
  ]
}