{
  "_id": "6a631f37d3420cf5dfdb768c",
  "Package": "astgrepr",
  "Type": "Package",
  "Title": "Parse and Manipulate R Code",
  "Version": "0.1.1",
  "Authors@R": "person(given = \"Etienne\",\nfamily = \"Bacher\",\nrole = c(\"aut\", \"cre\", \"cph\"),\nemail = \"etienne.bacher@protonmail.com\")",
  "Description": "Parsing R code is key to build tools such as linters and\nstylers. This package provides a binding to the 'Rust' crate\n'ast-grep' so that one can parse and explore R code.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Config/rextendr/version": "0.4.0.9000",
  "RoxygenNote": "7.3.2",
  "URL": "https://github.com/etiennebacher/astgrepr,\nhttps://astgrepr.etiennebacher.com/",
  "BugReports": "https://github.com/etiennebacher/astgrepr/issues",
  "SystemRequirements": "Cargo (Rust's package manager), rustc (>= 1.78.0)",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Language": "en-US",
  "Config/pak/sysreqs": "libclang-dev",
  "Repository": "https://etiennebacher.r-universe.dev",
  "Date/Publication": "2025-06-24 12:23:20 UTC",
  "RemoteUrl": "https://github.com/etiennebacher/astgrepr",
  "RemoteRef": "HEAD",
  "RemoteSha": "41d20ade4263c9f26fb5b073308d1150fb943a71",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-07-24 06:59:20 UTC",
    "User": "root"
  },
  "Author": "Etienne Bacher [aut, cre, cph]",
  "Maintainer": "Etienne Bacher <etienne.bacher@protonmail.com>",
  "_user": "etiennebacher",
  "_type": "src",
  "_file": "astgrepr_0.1.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/0be7d7c989a95b727d7fa35065ca6b632301211f495613717b4dc58a0efdb060",
  "_filesize": 3934426,
  "_sha256": "0be7d7c989a95b727d7fa35065ca6b632301211f495613717b4dc58a0efdb060",
  "_expires": "2026-11-01T08:15:49.000Z",
  "_created": "2026-07-24T06:59:20.000Z",
  "_published": "2026-07-24T08:15:51.796Z",
  "_jobs": [
    {
      "job": 89420746828,
      "time": 164,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8589179727"
    },
    {
      "job": 89420746765,
      "time": 200,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8589192755"
    },
    {
      "job": 89420746868,
      "time": 163,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8589179380"
    },
    {
      "job": 89420746793,
      "time": 211,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8589195881"
    },
    {
      "job": 89420746764,
      "time": 174,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8590660933"
    },
    {
      "job": 89420746823,
      "time": 228,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8590685843"
    },
    {
      "job": 89420746839,
      "time": 123,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8590728231"
    },
    {
      "job": 89420746775,
      "time": 320,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8590714934"
    },
    {
      "job": 89419887443,
      "time": 307,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8589116654"
    },
    {
      "job": 89420746818,
      "time": 170,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 89420746779,
      "time": 210,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8589196667"
    },
    {
      "job": 89420746749,
      "time": 214,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8589197483"
    },
    {
      "job": 89420746791,
      "time": 244,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8589209096"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729",
  "_status": "success",
  "_upstream": "https://github.com/etiennebacher/astgrepr",
  "_commit": {
    "id": "41d20ade4263c9f26fb5b073308d1150fb943a71",
    "author": "Etienne Bacher <52219252+etiennebacher@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Release 0.1.1 (#43)\n\n",
    "time": 1750767800
  },
  "_maintainer": {
    "name": "Etienne Bacher",
    "email": "etienne.bacher@protonmail.com",
    "login": "etiennebacher",
    "mastodon": "@etiennebacher@mastodon.social",
    "bluesky": "@etiennebacher.bsky.social",
    "description": "",
    "uuid": 52219252
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "checkmate",
      "role": "Imports"
    },
    {
      "package": "rrapply",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "yaml",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "rstudioapi",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "etiennebacher",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [],
  "_tags": [],
  "_stars": 33,
  "_contributors": [
    {
      "user": "etiennebacher",
      "count": 202,
      "uuid": 52219252
    },
    {
      "user": "josiahparry",
      "count": 1,
      "uuid": 13534508
    },
    {
      "user": "mpadge",
      "count": 1,
      "uuid": 6697851
    }
  ],
  "_userbio": {
    "uuid": 52219252,
    "type": "user",
    "name": "Etienne Bacher",
    "followers": 215
  },
  "_downloads": {
    "count": 697,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/astgrepr"
  },
  "_devurl": "https://github.com/etiennebacher/astgrepr",
  "_pkgdown": "https://astgrepr.etiennebacher.com/",
  "_searchresults": 12,
  "_cargo": true,
  "_topics": [
    "rust",
    "cargo"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/astgrepr.html",
    "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",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/etiennebacher/astgrepr",
  "_realowner": "etiennebacher",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2025-06-04"
    },
    {
      "version": "0.1.1",
      "date": "2025-06-07"
    }
  ],
  "_exports": [
    "ast_rule",
    "node_ancestors",
    "node_child",
    "node_children",
    "node_find",
    "node_find_all",
    "node_follows",
    "node_get_match",
    "node_get_multiple_matches",
    "node_get_root",
    "node_has",
    "node_inside",
    "node_is_leaf",
    "node_is_named",
    "node_is_named_leaf",
    "node_kind",
    "node_matches",
    "node_next",
    "node_next_all",
    "node_parent",
    "node_precedes",
    "node_prev",
    "node_prev_all",
    "node_range",
    "node_range_all",
    "node_replace",
    "node_replace_all",
    "node_text",
    "node_text_all",
    "pattern_rule",
    "relational_rule",
    "tree_new",
    "tree_rewrite",
    "tree_root"
  ],
  "_help": [
    {
      "page": "ast_rule",
      "title": "Build a rule",
      "topics": [
        "ast_rule"
      ]
    },
    {
      "page": "node_get_root",
      "title": "Recover the tree root from a node",
      "topics": [
        "node_get_root"
      ]
    },
    {
      "page": "node_kind",
      "title": "Find the kind of a node",
      "topics": [
        "node_kind"
      ]
    },
    {
      "page": "node-find",
      "title": "Find node(s) matching a pattern",
      "topics": [
        "node-find",
        "node_find",
        "node_find_all"
      ]
    },
    {
      "page": "node-fix",
      "title": "Change the code in the tree",
      "topics": [
        "node-fix",
        "node_replace",
        "node_replace_all"
      ]
    },
    {
      "page": "node-get-match",
      "title": "Get the match(es) from a meta-variable",
      "topics": [
        "node-get-match",
        "node_get_match",
        "node_get_multiple_matches"
      ]
    },
    {
      "page": "node-info",
      "title": "Get more precise information on a node",
      "topics": [
        "node-info",
        "node_follows",
        "node_has",
        "node_inside",
        "node_matches",
        "node_precedes"
      ]
    },
    {
      "page": "node-is",
      "title": "Get information on nodes",
      "topics": [
        "node-is",
        "node_is_leaf",
        "node_is_named",
        "node_is_named_leaf"
      ]
    },
    {
      "page": "node-range",
      "title": "Get the start and end positions of a node",
      "topics": [
        "node-range",
        "node_range",
        "node_range_all"
      ]
    },
    {
      "page": "node-text",
      "title": "Extract the code corresponding to one or several nodes",
      "topics": [
        "node-text",
        "node_text",
        "node_text_all"
      ]
    },
    {
      "page": "node-traversal",
      "title": "Navigate the tree",
      "topics": [
        "node-traversal",
        "node_ancestors",
        "node_child",
        "node_children",
        "node_next",
        "node_next_all",
        "node_parent",
        "node_prev",
        "node_prev_all"
      ]
    },
    {
      "page": "pattern_rule",
      "title": "Build a pattern rule",
      "topics": [
        "pattern_rule"
      ]
    },
    {
      "page": "relational_rule",
      "title": "Build a relational rule",
      "topics": [
        "relational_rule"
      ]
    },
    {
      "page": "tree_new",
      "title": "Create a syntax tree",
      "topics": [
        "tree_new"
      ]
    },
    {
      "page": "tree_rewrite",
      "title": "Rewrite the tree with a list of replacements",
      "topics": [
        "tree_rewrite"
      ]
    },
    {
      "page": "tree_root",
      "title": "Get the root of the syntax tree",
      "topics": [
        "tree_root"
      ]
    }
  ],
  "_readme": "https://github.com/etiennebacher/astgrepr/raw/HEAD/README.md",
  "_rundeps": [
    "backports",
    "checkmate",
    "rrapply",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "astgrepr.Rmd",
      "filename": "astgrepr.html",
      "title": "Getting started",
      "engine": "knitr::rmarkdown",
      "headings": [
        "First steps",
        "Rules and nodes",
        "Modifying nodes"
      ],
      "created": "2024-06-27 21:36:17",
      "modified": "2024-06-28 13:47:28",
      "commits": 2
    }
  ],
  "_score": 6.074816440645175,
  "_indexed": true,
  "_nocasepkg": "astgrepr",
  "_universes": [
    "etiennebacher"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-07-24T07:02:13.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/e8bde0090fddedd5cba907696eb0efb134ce7dac3f8c81f048d9412f9c3f2f39",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-07-24T07:02:40.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/48ee1f51b41eb0968ecd65de651d58b4af0808f4491be9acf04963d81e6be115",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-07-24T07:02:12.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/290767862bfdfb3af24eada48b50bc63c503be538f1565ed7426eddcc705eef1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-07-24T07:02:56.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/251fedceec6b03e3d4bc5820e77650001c6d454fc9f7b2e528858dfd6f022cee",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-07-24T08:11:14.000Z",
      "arch": "aarch64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/6e017ee753bc2437040af267300ea97b873a69ebf4a804680c716f73a613de43",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-07-24T08:11:45.000Z",
      "arch": "x86_64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/36fa0add53b48ae7e13e5be9d96fb22d43d0d7885b9145afdcc0db63859e97bd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-07-24T08:14:34.000Z",
      "arch": "aarch64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/02e6a3ac83ba3781c9eadca1afc63436d2e7eb6ed1f7478fff3c544da54ba21a",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-07-24T08:12:12.000Z",
      "arch": "x86_64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/5ee57e07b3b4385c6c045887bd12b45209c3848b1934fbb37671aa8a14d2bc0c",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-07-24T07:01:45.000Z",
      "arch": "x86_64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/eed251fab93ff170af5876c9135ed9e74023f63efc24c9059e9e5148207a667a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-07-24T07:01:20.000Z",
      "arch": "x86_64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/007190e95862c913514de78e96e972f5be6b99615ccaf44d2eba0b6da589a733",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-07-24T07:02:07.000Z",
      "arch": "x86_64",
      "commit": "41d20ade4263c9f26fb5b073308d1150fb943a71",
      "fileid": "https://r2.ropensci.org/a98df967e76c9a12697e0701840197354413e180b0bac9b90643f1343c7db431",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/30073720729"
    }
  ]
}