{
  "_id": "6a1f317cb401979e73427b78",
  "Package": "CodeDepends",
  "Version": "0.6.7",
  "Title": "Analysis of R Code for Reproducible Research and Code\nComprehension",
  "Description": "Tools for analyzing R expressions or blocks of code and\ndetermining the dependencies between them. It focuses on R\nscripts, but can be used on the bodies of functions. There are\nmany facilities including the ability to summarize or get a\nhigh-level view of code, determining dependencies between\nvariables, code improvement suggestions.",
  "Author": "Duncan Temple Lang, Roger Peng, Deborah Nolan, Gabriel Becker",
  "Maintainer": "Gabriel Becker <gabembecker@gmail.com>",
  "License": "GPL",
  "URL": "https://github.com/duncantl/CodeDepends",
  "BugReports": "https://github.com/duncantl/CodeDepends/issues",
  "VignetteBuilder": "knitr",
  "Collate": "classes.R librarySymbols.R functionHandlers.R codeDepends.R\nsectionDepends.R sweave.R xml.R jss.R frags.R codeTypes.R gc.R\ngraph.R parallel.R deps.R separateBlocks.R callGraph.R isPlot.R\nisOutput.R refScript.R sideEffects.R highlightCode.R\nfreeVariables.R convenienceFuns.R",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-15 08:23:52 UTC",
    "User": "root"
  },
  "Config/pak/sysreqs": "libxml2-dev",
  "Repository": "https://duncantl.r-universe.dev",
  "Date/Publication": "2025-12-19 22:36:15 UTC",
  "RemoteUrl": "https://github.com/duncantl/codedepends",
  "RemoteRef": "HEAD",
  "RemoteSha": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
  "MD5sum": "62875ceb850f6b4dc7c5d4d62a41ed4f",
  "_user": "duncantl",
  "_type": "src",
  "_file": "CodeDepends_0.6.7.tar.gz",
  "_fileid": "47f56f99700b823cbfecffa422a36f93abf7d0edbd0ef18cd2bd8d3e653e9c53",
  "_filesize": 975761,
  "_sha256": "47f56f99700b823cbfecffa422a36f93abf7d0edbd0ef18cd2bd8d3e653e9c53",
  "_created": "2026-05-15T08:23:52.000Z",
  "_published": "2026-06-02T19:39:40.016Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79156636139,
      "time": 133,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7013040691"
    },
    {
      "job": 79156636196,
      "time": 131,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013038596"
    },
    {
      "job": 79156636741,
      "time": 189,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7013039594"
    },
    {
      "job": 79156636676,
      "time": 130,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013033348"
    },
    {
      "job": 79156635947,
      "time": 192,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013005112"
    },
    {
      "job": 79156635659,
      "time": 104,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7367994389"
    },
    {
      "job": 79156636443,
      "time": 118,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7013035113"
    },
    {
      "job": 79156636683,
      "time": 93,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7013028944"
    },
    {
      "job": 79156636305,
      "time": 82,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013025918"
    }
  ],
  "_buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/duncantl/codedepends",
  "_commit": {
    "id": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
    "author": "Gabe Becker <gabembecker@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #53 from duncantl/cran_resubmit_0.6.6\n\nCran resubmit 0.6.6",
    "time": 1766183775
  },
  "_maintainer": {
    "name": "Gabriel Becker",
    "email": "gabembecker@gmail.com",
    "login": "gmbecker",
    "twitter": "@groundwalkergmb",
    "uuid": 908721
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "methods",
      "role": "Depends"
    },
    {
      "package": "codetools",
      "role": "Imports"
    },
    {
      "package": "graph",
      "role": "Imports"
    },
    {
      "package": "XML",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "Rgraphviz",
      "role": "Suggests"
    },
    {
      "package": "RUnit",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "highlight",
      "role": "Suggests"
    },
    {
      "package": "RJSONIO",
      "role": "Suggests"
    },
    {
      "package": "RCurl",
      "role": "Suggests"
    },
    {
      "package": "Rcpp",
      "role": "Suggests"
    }
  ],
  "_owner": "duncantl",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-51",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 93,
  "_contributors": [
    {
      "user": "duncantl",
      "count": 61,
      "uuid": 622617
    },
    {
      "user": "gmbecker",
      "count": 52,
      "uuid": 908721
    },
    {
      "user": "krlmlr",
      "count": 2,
      "uuid": 1741643
    },
    {
      "user": "clarkfitzg",
      "count": 1,
      "uuid": 5356122
    },
    {
      "user": "wlandau-lilly",
      "count": 1,
      "uuid": 22958003
    }
  ],
  "_userbio": {
    "uuid": 622617,
    "type": "user",
    "name": "Duncan Temple Lang"
  },
  "_downloads": {
    "count": 677,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/CodeDepends"
  },
  "_devurl": "https://github.com/duncantl/codedepends",
  "_searchresults": 84,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/CodeDepends.html",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/duncantl/codedepends",
  "_realowner": "duncantl",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.5-3",
      "date": "2017-05-29"
    },
    {
      "version": "0.6.0",
      "date": "2018-06-22"
    },
    {
      "version": "0.6.5",
      "date": "2018-07-17"
    },
    {
      "version": "0.6.6",
      "date": "2024-04-08"
    },
    {
      "version": "0.6.7",
      "date": "2026-03-03"
    }
  ],
  "_exports": [
    "addRemoveIntermediates",
    "applyhandlerfactory",
    "assignfunhandler",
    "assignhandler",
    "asVarName",
    "coerce",
    "colonshandler",
    "counthandler",
    "datahandler",
    "defaultFuncHandlers",
    "defhandler",
    "dollarhandler",
    "filterhandler",
    "findWhenUnneeded",
    "forhandler",
    "formulahandler",
    "fullnsehandler",
    "funchandler",
    "funshandler",
    "getDependsThread",
    "getDetailedTimelines",
    "getExpressionThread",
    "getInputs",
    "getPropagateChanges",
    "getSectionDepends",
    "getVariableDepends",
    "getVariables",
    "groupbyhandler",
    "guessTaskType",
    "highlightCode",
    "historyAsScript",
    "inputCollector",
    "libreqhandler",
    "makeCallGraph",
    "makeTaskGraph",
    "makeVariableGraph",
    "noophandler",
    "nseafterfirst",
    "nsehandlerfactory",
    "nseonlyhandlerfactory",
    "pipehandler",
    "readAnnotatedScript",
    "readScript",
    "rmhandler",
    "runUpToSection",
    "scriptInfo",
    "separateExpressionBlocks",
    "sourceVariable",
    "splitRedefinitions",
    "spreadhandler",
    "summarize_handlerfactory",
    "updatingScript"
  ],
  "_help": [
    {
      "page": "asVarName",
      "title": "asVarName",
      "topics": [
        "asVarName"
      ]
    },
    {
      "page": "findWhenUnneeded",
      "title": "Determine the code block after which a variable can be explicitly removed",
      "topics": [
        "addRemoveIntermediates",
        "findWhenUnneeded"
      ]
    },
    {
      "page": "handlers",
      "title": "Specifying custom processing behavior, Function handlers and handler factories",
      "topics": [
        "applyhandlerfactory",
        "assignfunhandler",
        "assignhandler",
        "colonshandler",
        "counthandler",
        "datahandler",
        "defaultFuncHandlers",
        "defhandler",
        "dollarhandler",
        "filterhandler",
        "forhandler",
        "formulahandler",
        "fullnsehandler",
        "funchandler",
        "functionhandlers",
        "funshandler",
        "groupbyhandler",
        "libreqhandler",
        "noophandler",
        "nseafterfirst",
        "nsehandlerfactory",
        "nseonlyhandlerfactory",
        "pipehandler",
        "rmhandler",
        "spreadhandler",
        "summarize_handlerfactory"
      ]
    },
    {
      "page": "getDependsThread",
      "title": "Compute which code blocks in a script are inputs to define a variable",
      "concept": [
        "meta-programming"
      ],
      "topics": [
        "getDependsThread",
        "getDependsThread,character-method",
        "getDependsThread,name-method",
        "getDependsThread,numeric-method"
      ]
    },
    {
      "page": "getDetailedTimelines",
      "title": "Compute and plot life cycle of variables in code",
      "topics": [
        "coerce,DetailedVariableTimeline,matrix-method",
        "getDetailedTimelines",
        "plot.DetailedVariableTimeline"
      ]
    },
    {
      "page": "getExpressionThread",
      "title": "Find the sequence of expressions needed to get to a certain point in the code",
      "topics": [
        "getExpressionThread"
      ]
    },
    {
      "page": "getInputs",
      "title": "Get input and output variables and literals from R expressions",
      "topics": [
        "getInputs",
        "getInputs,ANY-method",
        "getInputs,function-method",
        "getInputs,Script-method",
        "getInputs,ScriptNode-method",
        "getInputs,ScriptNodeInfo-method",
        "scriptInfo"
      ]
    },
    {
      "page": "getPropogateChanges",
      "title": "Determine which expressions to update when a variable changes",
      "topics": [
        "getPropagateChanges"
      ]
    },
    {
      "page": "getVariableDepends",
      "title": "Determine dependencies for code blocks",
      "topics": [
        "getSectionDepends",
        "getVariableDepends"
      ]
    },
    {
      "page": "getVariables",
      "title": "Get the names of the variables used in code",
      "topics": [
        "getVariables",
        "getVariables,expression-method",
        "getVariables,Script-method",
        "getVariables,ScriptInfo-method",
        "getVariables,ScriptNode-method",
        "getVariables,ScriptNodeInfo-method"
      ]
    },
    {
      "page": "guessTaskType",
      "title": "Guess the type of high-level task of a code block",
      "topics": [
        "guessTaskType"
      ]
    },
    {
      "page": "highlightCode",
      "title": "Display R code with highlighting of variables, links to functions and packages",
      "topics": [
        "highlightCode"
      ]
    },
    {
      "page": "historyAsScript",
      "title": "Convert R interactive history to a Script object",
      "concept": [
        "code analysis"
      ],
      "topics": [
        "historyAsScript"
      ]
    },
    {
      "page": "inputCollector",
      "title": "Create customized input/output collector for use in getInputs",
      "topics": [
        "inputCollector"
      ]
    },
    {
      "page": "makeCallGraph",
      "title": "Create a graph representing which functions call other functions",
      "topics": [
        "makeCallGraph",
        "makeCallGraph,character-method",
        "makeCallGraph,function-method",
        "makeCallGraph,list-method"
      ]
    },
    {
      "page": "makeTaskGraph",
      "title": "Create a graph connecting the tasks within a script",
      "topics": [
        "makeTaskGraph"
      ]
    },
    {
      "page": "makeGraph",
      "title": "Create a graph describing the relationships between variables in a script",
      "topics": [
        "makeVariableGraph"
      ]
    },
    {
      "page": "getDocFrags",
      "title": "Read the code blocks/chunks from a document",
      "topics": [
        "readAnnotatedScript",
        "readScript",
        "readScript,character-method",
        "readScript,connection-method",
        "readScript,missing-method",
        "readScript,XMLInternalDocument-method"
      ]
    },
    {
      "page": "toSection",
      "title": "Evaluate the code blocks up to a particular section of a document",
      "topics": [
        "runUpToSection"
      ]
    },
    {
      "page": "Script-class",
      "title": "The Script class and elements",
      "topics": [
        "$,Script-method",
        "AnnotatedScript-class",
        "coerce,expression,ScriptNodeInfo-method",
        "coerce,language,ScriptNodeInfo-method",
        "coerce,Script,ScriptInfo-method",
        "coerce,ScriptNode,ScriptNodeInfo-method",
        "Script-class",
        "ScriptInfo-class",
        "ScriptNode-class",
        "ScriptNodeInfo-class",
        "[,Script,character,missing-method",
        "[,Script,vector,missing-method"
      ]
    },
    {
      "page": "separateExpressionBlocks",
      "title": "Convert a script into individual top-level calls",
      "topics": [
        "separateExpressionBlocks"
      ]
    },
    {
      "page": "sourceVariable",
      "title": "Evaluate code in document in order to define the specified variables",
      "topics": [
        "sourceVariable"
      ]
    },
    {
      "page": "splitRedefinitions",
      "title": "Divide a script into separate lists of code based on redefinition of a variable",
      "topics": [
        "splitRedefinitions"
      ]
    },
    {
      "page": "updatingScript",
      "title": "Create a Script object that re-reads the original file as needed",
      "concept": [
        "code analysis"
      ],
      "topics": [
        "coerce,DynScript,Script-method",
        "getInputs,DynScript-method",
        "updatingScript"
      ]
    }
  ],
  "_rundeps": [
    "BiocGenerics",
    "codetools",
    "generics",
    "graph",
    "XML"
  ],
  "_vignettes": [
    {
      "source": "intro.Rmd",
      "filename": "intro.html",
      "title": "CodeDepends: Static analysis and dependency detection for R code",
      "author": "Gabriel Becker",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "The workhorses: readScript and getInputs",
        "Symbols within formulas",
        "Input collectors, function handlers, and customization",
        "Dependency detection and script visualization",
        "Variable dependency graphs",
        "call graphs",
        "Variable definitions timelines"
      ],
      "created": "2017-05-27 23:00:43",
      "modified": "2025-12-19 22:36:15",
      "commits": 3
    }
  ],
  "_score": 6.971943480663442,
  "_indexed": true,
  "_nocasepkg": "codedepends",
  "_universes": [
    "duncantl",
    "gmbecker"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.7",
      "date": "2026-05-15T08:26:02.000Z",
      "distro": "noble",
      "commit": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
      "fileid": "2b288d0259d69cf2455ff7b90ff0d9991a0d9d6aa73081200ca0904ea54f7cce",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.6.7",
      "date": "2026-05-15T08:25:54.000Z",
      "distro": "noble",
      "commit": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
      "fileid": "2540fda5629466839a452f9f4429eb489186450c3b0114534c7aaaa8a543c8fc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.6.7",
      "date": "2026-05-15T08:26:06.000Z",
      "commit": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
      "fileid": "c56c59e5b72687321b71e16953957fa29e000fd287f1a2c5594970110e3c55ec",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.6.7",
      "date": "2026-05-15T08:25:46.000Z",
      "commit": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
      "fileid": "298810e627a671016603eac275cbad0805c9bd92d19dbabf6dc2c3d0d1b94c7c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.6.7",
      "date": "2026-05-15T08:25:40.000Z",
      "commit": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
      "fileid": "90e28674002e9181def47d8f12e0cc15b8ebb183f0ae30b2b4168bae82a8ad1b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.6.7",
      "date": "2026-05-15T08:25:09.000Z",
      "commit": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
      "fileid": "bc13bd551573fb48d799607cbb3d66af40876e59f9b0f84c465c61f9d0210ab3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.6.7",
      "date": "2026-05-15T08:25:01.000Z",
      "commit": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
      "fileid": "005266a341a96d0bad323604047a832cd58eda25e881120d5a4511b55d74fbac",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.7",
      "date": "2026-06-02T19:39:18.000Z",
      "commit": "5bf358ae2be0426852dfe12ec42a5f7896a49136",
      "fileid": "9ee6e6a05c26d664a1b8b826cad0f1918ad9010bf1fb121d9ee4d26e8d8af09c",
      "status": "success",
      "buildurl": "https://github.com/r-universe/duncantl/actions/runs/25907859038"
    }
  ]
}