{
  "_id": "6ab119fa3d719c1f84087133",
  "Package": "astgrepr",
  "Type": "Package",
  "Title": "Parse and Manipulate R Code",
  "Version": "0.1.2",
  "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",
  "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/roxygen2/version": "8.0.0",
  "Config/rextendr/version": "0.5.0",
  "Config/pak/sysreqs": "libclang-dev",
  "Repository": "https://etiennebacher.r-universe.dev",
  "Date/Publication": "2026-08-06 12:56:44 UTC",
  "RemoteUrl": "https://github.com/etiennebacher/astgrepr",
  "RemoteRef": "HEAD",
  "RemoteSha": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-09-21 11:35:13 UTC",
    "User": "root"
  },
  "Author": "Etienne Bacher [aut, cre, cph]",
  "Maintainer": "Etienne Bacher <etienne.bacher@protonmail.com>",
  "_user": "etiennebacher",
  "_type": "src",
  "_file": "astgrepr_0.1.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/91a83f4242376963b1e0d9baab73203bbe74a62ddb9d8b2ed4b243158a8cd5ec",
  "_filesize": 3898787,
  "_sha256": "91a83f4242376963b1e0d9baab73203bbe74a62ddb9d8b2ed4b243158a8cd5ec",
  "_expires": "2026-12-30T11:50:16.000Z",
  "_created": "2026-09-21T11:35:13.000Z",
  "_published": "2026-09-21T11:50:18.363Z",
  "_jobs": [
    {
      "job": 106317525759,
      "time": 160,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10636109590"
    },
    {
      "job": 106317525844,
      "time": 182,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10636343555"
    },
    {
      "job": 106317525757,
      "time": 201,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10636635268"
    },
    {
      "job": 106317525649,
      "time": 179,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10636029885"
    },
    {
      "job": 106317525618,
      "time": 236,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10636905228"
    },
    {
      "job": 106317525696,
      "time": 472,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10636462386"
    },
    {
      "job": 106317525572,
      "time": 159,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "10636476049"
    },
    {
      "job": 106317525631,
      "time": 289,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "10636154846"
    },
    {
      "job": 106316004836,
      "time": 324,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10635807994"
    },
    {
      "job": 106317525562,
      "time": 171,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 106317525850,
      "time": 448,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10636935251"
    },
    {
      "job": 106317525674,
      "time": 257,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10636480824"
    },
    {
      "job": 106317525681,
      "time": 244,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10635429180"
    },
    {
      "job": 106317525683,
      "time": 440,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10636436398"
    },
    {
      "job": 106317525695,
      "time": 219,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10636720052"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082",
  "_status": "success",
  "_upstream": "https://github.com/etiennebacher/astgrepr",
  "_commit": {
    "id": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
    "author": "Etienne Bacher <52219252+etiennebacher@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Release 0.1.2 (#50)",
    "time": 1786021004
  },
  "_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": [
    {
      "week": "2026-31",
      "n": 4
    },
    {
      "week": "2026-32",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.1.2",
      "date": "2026-08-06"
    }
  ],
  "_stars": 33,
  "_contributors": [
    {
      "user": "etiennebacher",
      "count": 206,
      "uuid": 52219252
    },
    {
      "user": "jeroen",
      "count": 1,
      "uuid": 216319
    },
    {
      "user": "josiahparry",
      "count": 1,
      "uuid": 13534508
    },
    {
      "user": "mpadge",
      "count": 1,
      "uuid": 6697851
    }
  ],
  "_userbio": {
    "uuid": 52219252,
    "type": "user",
    "name": "Etienne Bacher",
    "followers": 220
  },
  "_downloads": {
    "count": 589,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/astgrepr"
  },
  "_devurl": "https://github.com/etiennebacher/astgrepr",
  "_pkgdown": "https://astgrepr.etiennebacher.com/",
  "_searchresults": 14,
  "_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/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_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"
    },
    {
      "version": "0.1.2",
      "date": "2026-08-04"
    }
  ],
  "_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": "2026-08-06 12:56:44",
      "commits": 3
    }
  ],
  "_score": 6.618884484995451,
  "_indexed": true,
  "_nocasepkg": "astgrepr",
  "_universes": [
    "etiennebacher"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-21T11:38:08.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/75114fc8054aaac5e3a693363f0c714c6937ab60da296f42c4a2d35efebde609",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-21T11:38:35.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/f91267edbcef6eefd6149aa4f6bd46f44e4397ece148e774db416c9c2ee6c67f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-21T11:38:50.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/67b0731f728f05a89222e2ee0566829c2be31651d943bd593eddcc945b2d84e7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-21T11:38:24.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/cb388931a952fc8dc231fa136dde4e94be02fff1de023fe0adf3628f1e9ba587",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-09-21T11:41:51.000Z",
      "arch": "aarch64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/baa35014e3981f68714bb2a98e57284430e00215a8d8b004621f16783b0de250",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-09-21T11:46:29.000Z",
      "arch": "x86_64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/34ad374ff4bc035d8d9843a390ca688e0537967c822ee514b2838a27b9da21c5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-09-21T11:41:16.000Z",
      "arch": "aarch64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/8cf4fa0954f63f446b76250882969df9e9e3666abd36436429e802bdeacf9d9e",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-09-21T11:40:23.000Z",
      "arch": "x86_64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/e458ac64205ff1652342b17d102eb7e649d18604225ddbb5c779e952aceec0d9",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T11:41:15.000Z",
      "arch": "aarch64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/e6ac33326aeac743e15c5155cf30c1ca511ac6086010c6cb819207413147bef2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T11:37:30.000Z",
      "arch": "x86_64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/ef290e4b246b555a09259da0d2fe372889f9b5bdb07a7d4d04c2c215e7dc63a3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T11:37:31.000Z",
      "arch": "x86_64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/e1e67e241d58096a35df63273715060f24ea41d7f295d0d9d73e6c872da27042",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T11:41:01.000Z",
      "arch": "aarch64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/e722b9afaa44c7e1a0c9c8f999e7baf5b937ca066e51db7e2f57495a0c8665ad",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T11:37:33.000Z",
      "arch": "x86_64",
      "commit": "7bbe8583226a15e9c24ee2b2a58d51bdc816245a",
      "fileid": "https://r2.ropensci.org/3a0314428c764bbd4824418ed5f08550a7eccf0c8ca3c5aafb5a70c57cfc2b8b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/etiennebacher/actions/runs/35594441082"
    }
  ]
}