{
  "_id": "6a2bb84257839859431996ca",
  "Package": "vectra",
  "Title": "Columnar Query Engine for Larger-than-RAM Data",
  "Version": "0.7.1",
  "Authors@R": "person(\"Gilles\", \"Colling\", email = \"gilles.colling051@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0003-3070-6066\"))",
  "Description": "A minimal columnar query engine with lazy execution on\ndatasets larger than RAM. Provides 'dplyr'-like verbs\n(filter(), select(), mutate(), group_by(), summarise(), joins,\nwindow functions) and common aggregations (n(), sum(), mean(),\nmin(), max(), sd(), first(), last()) backed by a pure C11\npull-based execution engine and a custom on-disk format\n('.vtr'). Reads and writes 'GeoTIFF' (including tiled and\n'BigTIFF' layouts) and a tiled raster format ('.vec') with\noverview pyramids and time cubes for larger-than-RAM raster\ndata.",
  "License": "MIT + file LICENSE",
  "SystemRequirements": "GNU make",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://gillescolling.com/vectra/,\nhttps://github.com/gcol33/vectra",
  "BugReports": "https://github.com/gcol33/vectra/issues",
  "Config/roxygen2/version": "8.0.0",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-12 07:37:05 UTC",
    "User": "root"
  },
  "Author": "Gilles Colling [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-3070-6066>)",
  "Maintainer": "Gilles Colling <gilles.colling051@gmail.com>",
  "Config/pak/sysreqs": "make",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-06-12 00:00:02 UTC",
  "RemoteUrl": "https://github.com/cran/vectra",
  "RemoteRef": "HEAD",
  "RemoteSha": "8c680df70de5475494115c7fe0bf8fcd7cf7a4fa",
  "MD5sum": "4edbaf2919d04bc8c94b9d10f7522373",
  "_user": "cran",
  "_type": "src",
  "_file": "vectra_0.7.1.tar.gz",
  "_fileid": "2aef3647d2270786f3e162f36be71058f29a8fb6c59440443252b23f8a1149e3",
  "_filesize": 1349347,
  "_sha256": "2aef3647d2270786f3e162f36be71058f29a8fb6c59440443252b23f8a1149e3",
  "_created": "2026-06-12T07:37:05.000Z",
  "_published": "2026-06-12T07:41:54.899Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80981471039,
      "time": 221,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7585830213"
    },
    {
      "job": 80981471058,
      "time": 161,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7585811728"
    },
    {
      "job": 80981471046,
      "time": 170,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585814917"
    },
    {
      "job": 80981471047,
      "time": 154,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585808787"
    },
    {
      "job": 80980872729,
      "time": 244,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585761221"
    },
    {
      "job": 80981471011,
      "time": 157,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585809613"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/27401224339",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/vectra",
  "_commit": {
    "id": "8c680df70de5475494115c7fe0bf8fcd7cf7a4fa",
    "author": "Gilles Colling <gilles.colling051@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.7.1\n",
    "time": 1781222402
  },
  "_maintainer": {
    "name": "Gilles Colling",
    "email": "gilles.colling051@gmail.com",
    "login": "gcol33",
    "linkedin": "in/gilles-colling-0b3747306",
    "orcid": "0000-0003-3070-6066",
    "twitter": "@Gilles__Colling",
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :(",
    "uuid": 25009600
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "biglm",
      "role": "Suggests"
    },
    {
      "package": "bit64",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "openxlsx2",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "terra",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-17",
      "n": 1
    },
    {
      "week": "2026-19",
      "n": 1
    },
    {
      "week": "2026-24",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.5.1",
      "date": "2026-04-21"
    },
    {
      "name": "0.6.2",
      "date": "2026-05-08"
    },
    {
      "name": "0.7.1",
      "date": "2026-06-12"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "gcol33",
      "count": 3,
      "uuid": 25009600
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 220,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/vectra"
  },
  "_devurl": "https://github.com/gcol33/vectra",
  "_pkgdown": "https://gillescolling.com/vectra/",
  "_searchresults": 25,
  "_topics": [
    "openmp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "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",
    "extra/vectra.html",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/gcol33/vectra",
  "_realowner": "gcol33",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.5.1",
      "date": "2026-04-21"
    },
    {
      "version": "0.6.2",
      "date": "2026-05-08"
    },
    {
      "version": "0.7.1",
      "date": "2026-06-12"
    }
  ],
  "_exports": [
    "across",
    "anti_join",
    "append_vtr",
    "arrange",
    "bind_cols",
    "bind_rows",
    "block_fuzzy_lookup",
    "block_lookup",
    "chunk_feeder",
    "collect",
    "collect_chunked",
    "count",
    "create_index",
    "cross_join",
    "delete_vtr",
    "desc",
    "diff_vtr",
    "distinct",
    "explain",
    "filter",
    "full_join",
    "fuzzy_join",
    "glimpse",
    "group_by",
    "group_map",
    "group_modify",
    "has_index",
    "inner_join",
    "left_join",
    "link",
    "lookup",
    "materialize",
    "mutate",
    "offload",
    "pull",
    "reframe",
    "relocate",
    "rename",
    "right_join",
    "select",
    "semi_join",
    "slice",
    "slice_head",
    "slice_max",
    "slice_min",
    "slice_tail",
    "summarise",
    "summarize",
    "tally",
    "tbl",
    "tbl_csv",
    "tbl_sqlite",
    "tbl_tiff",
    "tbl_xlsx",
    "tiff_band_names",
    "tiff_crs",
    "tiff_extract_points",
    "tiff_metadata",
    "transmute",
    "ungroup",
    "vec_build_overviews",
    "vec_close_raster",
    "vec_extract_points",
    "vec_open_raster",
    "vec_raster_layout",
    "vec_raster_times",
    "vec_read_pixel_series",
    "vec_read_time_slice",
    "vec_read_window",
    "vec_to_tiff",
    "vec_write_raster",
    "vec_write_time_cube",
    "vtr_schema",
    "write_csv",
    "write_sqlite",
    "write_tiff",
    "write_vtr"
  ],
  "_help": [
    {
      "page": "across",
      "title": "Apply a function across multiple columns",
      "topics": [
        "across"
      ]
    },
    {
      "page": "append_vtr",
      "title": "Append rows to an existing .vtr file",
      "topics": [
        "append_vtr"
      ]
    },
    {
      "page": "arrange",
      "title": "Sort rows by column values",
      "topics": [
        "arrange"
      ]
    },
    {
      "page": "bind_rows",
      "title": "Bind rows or columns from multiple vectra tables",
      "topics": [
        "bind_cols",
        "bind_rows"
      ]
    },
    {
      "page": "block_fuzzy_lookup",
      "title": "Fuzzy-match query keys against a materialized block",
      "topics": [
        "block_fuzzy_lookup"
      ]
    },
    {
      "page": "block_lookup",
      "title": "Probe a materialized block by column value",
      "topics": [
        "block_lookup"
      ]
    },
    {
      "page": "chunk_feeder",
      "title": "Turn a query into a resettable chunk generator",
      "topics": [
        "chunk_feeder"
      ]
    },
    {
      "page": "collect",
      "title": "Execute a lazy query and return a data.frame",
      "topics": [
        "collect"
      ]
    },
    {
      "page": "collect_chunked",
      "title": "Fold a function over a query, one batch at a time",
      "topics": [
        "collect_chunked",
        "collect_chunked.default",
        "collect_chunked.vectra_node",
        "collect_chunked.vectra_partition"
      ]
    },
    {
      "page": "count",
      "title": "Count observations by group",
      "topics": [
        "count",
        "tally"
      ]
    },
    {
      "page": "create_index",
      "title": "Create a hash index on a .vtr file column",
      "topics": [
        "create_index"
      ]
    },
    {
      "page": "cross_join",
      "title": "Cross join two vectra tables",
      "topics": [
        "cross_join"
      ]
    },
    {
      "page": "delete_vtr",
      "title": "Logically delete rows from a .vtr file",
      "topics": [
        "delete_vtr"
      ]
    },
    {
      "page": "desc",
      "title": "Mark a column for descending sort order",
      "topics": [
        "desc"
      ]
    },
    {
      "page": "diff_vtr",
      "title": "Compute the logical diff between two .vtr files",
      "topics": [
        "diff_vtr"
      ]
    },
    {
      "page": "distinct",
      "title": "Keep distinct/unique rows",
      "topics": [
        "distinct"
      ]
    },
    {
      "page": "explain",
      "title": "Print the execution plan for a vectra query",
      "topics": [
        "explain"
      ]
    },
    {
      "page": "filter",
      "title": "Filter rows of a vectra query",
      "topics": [
        "filter"
      ]
    },
    {
      "page": "fuzzy_join",
      "title": "Fuzzy join two vectra tables by string distance",
      "topics": [
        "fuzzy_join"
      ]
    },
    {
      "page": "glimpse",
      "title": "Get a glimpse of a vectra table",
      "topics": [
        "glimpse"
      ]
    },
    {
      "page": "group_by",
      "title": "Group a vectra query by columns",
      "topics": [
        "group_by"
      ]
    },
    {
      "page": "group_map",
      "title": "Apply a function to each shard of a partition",
      "topics": [
        "group_map",
        "group_map.vectra_partition",
        "group_modify",
        "group_modify.vectra_partition"
      ]
    },
    {
      "page": "has_index",
      "title": "Check if a hash index exists for a .vtr column",
      "topics": [
        "has_index"
      ]
    },
    {
      "page": "head.vectra_node",
      "title": "Limit results to first n rows",
      "topics": [
        "head.vectra_node"
      ]
    },
    {
      "page": "left_join",
      "title": "Join two vectra tables",
      "topics": [
        "anti_join",
        "full_join",
        "inner_join",
        "left_join",
        "right_join",
        "semi_join"
      ]
    },
    {
      "page": "link",
      "title": "Define a link between a fact table and a dimension table",
      "topics": [
        "link"
      ]
    },
    {
      "page": "lookup",
      "title": "Look up columns from linked dimension tables",
      "topics": [
        "lookup"
      ]
    },
    {
      "page": "materialize",
      "title": "Materialize a vectra node into a reusable in-memory block",
      "topics": [
        "materialize"
      ]
    },
    {
      "page": "mutate",
      "title": "Add or transform columns",
      "topics": [
        "mutate"
      ]
    },
    {
      "page": "offload",
      "title": "Spill a query to disk and stream it back (the offload functor)",
      "topics": [
        "offload"
      ]
    },
    {
      "page": "print.vectra_node",
      "title": "Print a vectra query node",
      "topics": [
        "print.vectra_node"
      ]
    },
    {
      "page": "pull",
      "title": "Extract a single column as a vector",
      "topics": [
        "pull"
      ]
    },
    {
      "page": "reframe",
      "title": "Summarise with variable-length output per group",
      "topics": [
        "reframe"
      ]
    },
    {
      "page": "relocate",
      "title": "Relocate columns",
      "topics": [
        "relocate"
      ]
    },
    {
      "page": "rename",
      "title": "Rename columns",
      "topics": [
        "rename"
      ]
    },
    {
      "page": "select",
      "title": "Select columns from a vectra query",
      "topics": [
        "select"
      ]
    },
    {
      "page": "slice",
      "title": "Select rows by position",
      "topics": [
        "slice"
      ]
    },
    {
      "page": "slice_head",
      "title": "Select first or last rows",
      "topics": [
        "slice_head",
        "slice_max",
        "slice_min",
        "slice_tail"
      ]
    },
    {
      "page": "summarise",
      "title": "Summarise grouped data",
      "topics": [
        "summarise",
        "summarize"
      ]
    },
    {
      "page": "tbl",
      "title": "Create a lazy table reference from a .vtr file",
      "topics": [
        "tbl"
      ]
    },
    {
      "page": "tbl_csv",
      "title": "Create a lazy table reference from a CSV file",
      "topics": [
        "tbl_csv"
      ]
    },
    {
      "page": "tbl_sqlite",
      "title": "Create a lazy table reference from a SQLite database",
      "topics": [
        "tbl_sqlite"
      ]
    },
    {
      "page": "tbl_tiff",
      "title": "Create a lazy table reference from a GeoTIFF raster",
      "topics": [
        "tbl_tiff"
      ]
    },
    {
      "page": "tbl_xlsx",
      "title": "Create a lazy table reference from an Excel (.xlsx) file",
      "topics": [
        "tbl_xlsx"
      ]
    },
    {
      "page": "tiff_band_names",
      "title": "Read per-band names from a GeoTIFF",
      "topics": [
        "tiff_band_names"
      ]
    },
    {
      "page": "tiff_crs",
      "title": "Read CRS metadata from a GeoTIFF",
      "topics": [
        "tiff_crs"
      ]
    },
    {
      "page": "tiff_extract_points",
      "title": "Extract raster values at point coordinates",
      "topics": [
        "tiff_extract_points"
      ]
    },
    {
      "page": "tiff_metadata",
      "title": "Read GDAL_METADATA from a GeoTIFF",
      "topics": [
        "tiff_metadata"
      ]
    },
    {
      "page": "transmute",
      "title": "Keep only columns from mutate expressions",
      "topics": [
        "transmute"
      ]
    },
    {
      "page": "ungroup",
      "title": "Remove grouping from a vectra query",
      "topics": [
        "ungroup"
      ]
    },
    {
      "page": "vec_build_overviews",
      "title": "Build overview pyramids for a .vec raster",
      "topics": [
        "vec_build_overviews"
      ]
    },
    {
      "page": "vec_close_raster",
      "title": "Close a .vec raster handle",
      "topics": [
        "vec_close_raster"
      ]
    },
    {
      "page": "vec_extract_points",
      "title": "Extract band values at (x, y) points from a .vec raster",
      "topics": [
        "vec_extract_points"
      ]
    },
    {
      "page": "vec_open_raster",
      "title": "Open a .vec raster",
      "topics": [
        "vec_open_raster"
      ]
    },
    {
      "page": "vec_raster_layout",
      "title": "Tile layout of an open .vec raster",
      "topics": [
        "vec_raster_layout"
      ]
    },
    {
      "page": "vec_raster_times",
      "title": "Distinct time stamps stored in a .vec time cube",
      "topics": [
        "vec_raster_times"
      ]
    },
    {
      "page": "vec_read_pixel_series",
      "title": "Read the full time series at a single pixel from a .vec time cube",
      "topics": [
        "vec_read_pixel_series"
      ]
    },
    {
      "page": "vec_read_time_slice",
      "title": "Read a single time slice from a .vec time cube",
      "topics": [
        "vec_read_time_slice"
      ]
    },
    {
      "page": "vec_read_window",
      "title": "Read a window of pixels from a .vec raster",
      "topics": [
        "vec_read_window"
      ]
    },
    {
      "page": "vec_to_tiff",
      "title": "Export a .vec raster to GeoTIFF",
      "topics": [
        "vec_to_tiff"
      ]
    },
    {
      "page": "vec_write_raster",
      "title": "Write a raster matrix or 3D array to a .vec raster file",
      "topics": [
        "vec_write_raster"
      ]
    },
    {
      "page": "vec_write_time_cube",
      "title": "Write a 4D time-cube raster to .vec",
      "topics": [
        "vec_write_time_cube"
      ]
    },
    {
      "page": "vtr_schema",
      "title": "Create a star schema over linked vectra tables",
      "topics": [
        "vtr_schema"
      ]
    },
    {
      "page": "write_csv",
      "title": "Write query results or a data.frame to a CSV file",
      "topics": [
        "write_csv"
      ]
    },
    {
      "page": "write_sqlite",
      "title": "Write query results or a data.frame to a SQLite table",
      "topics": [
        "write_sqlite"
      ]
    },
    {
      "page": "write_tiff",
      "title": "Write query results to a GeoTIFF file",
      "topics": [
        "write_tiff"
      ]
    },
    {
      "page": "write_vtr",
      "title": "Write data to a .vtr file",
      "topics": [
        "write_vtr"
      ]
    }
  ],
  "_readme": "https://github.com/cran/vectra/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "glue",
    "lifecycle",
    "rlang",
    "tidyselect",
    "vctrs",
    "withr"
  ],
  "_sysdeps": [
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_vignettes": [
    {
      "source": "formats.Rmd",
      "filename": "formats.html",
      "title": "Format Backends",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "The .vtr format",
        "CSV",
        "SQLite",
        "Excel",
        "GeoTIFF",
        "Integer pixel types",
        "Embedded metadata",
        "Point extraction",
        "Streaming conversion pipelines",
        "Batch size",
        "Format comparison"
      ],
      "created": "2026-04-21 21:10:41",
      "modified": "2026-05-08 09:59:27",
      "commits": 2
    },
    {
      "source": "quickstart.Rmd",
      "filename": "quickstart.html",
      "title": "Getting Started with vectra",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Writing and reading data",
        "Filtering and selecting",
        "Transforming columns",
        "String operations",
        "Aggregation",
        "Sorting and slicing",
        "Joins",
        "Window functions",
        "Dates and times",
        "String similarity",
        "Tree traversal",
        "Format backends",
        "Indexes",
        "Incremental operations",
        "Materialized blocks",
        "Inspecting the plan",
        "Cleanup"
      ],
      "created": "2026-04-21 21:10:41",
      "modified": "2026-04-21 21:10:41",
      "commits": 1
    },
    {
      "source": "indexing.Rmd",
      "filename": "indexing.html",
      "title": "Indexing and Query Optimization",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Zone-map pruning",
        "Hash indexes",
        "Composite indexes",
        "Case-insensitive indexes",
        "%in% acceleration",
        "Column pruning",
        "Predicate pushdown",
        "Reading explain() output",
        "Materialized blocks",
        "Practical guidance"
      ],
      "created": "2026-04-21 21:10:41",
      "modified": "2026-04-21 21:10:41",
      "commits": 1
    },
    {
      "source": "joins.Rmd",
      "filename": "joins.html",
      "title": "Joins",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Key specification",
        "Left join",
        "Inner join",
        "Right and full joins",
        "Filtering joins: semi and anti",
        "Cross join",
        "Fuzzy joins",
        "Multi-column keys",
        "Key coercion and NA handling",
        "Memory and performance",
        "Practical guidance"
      ],
      "created": "2026-04-21 21:10:41",
      "modified": "2026-04-21 21:10:41",
      "commits": 1
    },
    {
      "source": "offload.Rmd",
      "filename": "offload.html",
      "title": "Offloading: streaming, monoids, and out-of-core fits",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Two cost models",
        "When a reduction streams in one pass",
        "The offload functor",
        "Localizing coupling by sorting and partitioning",
        "The monoidal reduce, and the law it rests on",
        "The cost tiers",
        "A note on the abstraction",
        "Choosing a path"
      ],
      "created": "2026-06-12 00:00:02",
      "modified": "2026-06-12 00:00:02",
      "commits": 1
    },
    {
      "source": "sdm.Rmd",
      "filename": "sdm.html",
      "title": "Species Distribution Models",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What vectra does for a distribution model",
        "Align coordinates before extracting",
        "Build a predictor table",
        "Fit in memory when the table fits",
        "Stream when the table is larger than memory",
        "A single pass with collect_chunked()",
        "An out-of-core GLM with chunk_feeder()",
        "Choosing a path"
      ],
      "created": "2026-06-12 00:00:02",
      "modified": "2026-06-12 00:00:02",
      "commits": 1
    },
    {
      "source": "schema.Rmd",
      "filename": "schema.html",
      "title": "Star Schemas and Lookup",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The flat-table problem",
        "The star schema concept",
        "Setting up a schema",
        "Looking up dimension columns",
        "Match reporting",
        "Named keys",
        "Join modes",
        "Reusing the schema",
        "Practical patterns",
        "Pattern 1: filtering before lookup",
        "Pattern 2: aggregation after lookup",
        "Pattern 3: multiple dimensions in one aggregation",
        "Pattern 4: writing results back",
        "When not to use a schema"
      ],
      "created": "2026-04-21 21:10:41",
      "modified": "2026-05-08 09:59:27",
      "commits": 2
    },
    {
      "source": "string-ops.Rmd",
      "filename": "string-ops.html",
      "title": "String Operations and Fuzzy Matching",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Basic string functions",
        "Trimming whitespace",
        "Case conversion",
        "String length",
        "Extracting substrings",
        "Prefix and suffix tests",
        "String concatenation",
        "paste0: no separator",
        "paste: custom separator",
        "Multi-column paste",
        "Pattern matching: fixed strings",
        "Filtering with grepl",
        "Replacing with gsub and sub",
        "sub: first match only",
        "Pattern matching: regex",
        "Regex filtering with grepl",
        "Regex replacement with gsub",
        "sub with regex: first match only",
        "str_extract: capturing structured parts",
        "Fuzzy string matching",
        "Levenshtein distance",
        "Damerau-Levenshtein distance",
        "Jaro-Winkler similarity",
        "Choosing a distance metric",
        "Filtering by distance threshold",
        "Ranking by similarity",
        "Fuzzy joins",
        "Basic fuzzy join",
        "Methods: dl, levenshtein, jw",
        "Blocking for performance",
        "Thread control",
        "Block lookups",
        "Exact lookups",
        "Case-insensitive lookups",
        "Fuzzy lookups",
        "Performance",
        "Tier 1: byte-level operations (essentially free)",
        "Tier 2: pattern matching (depends on pattern complexity)",
        "Tier 3: fuzzy distance computation (CPU-bound)",
        "Two-pass string building",
        "Practical guidance",
        "Which distance metric for which use case",
        "Choosing max_dist thresholds",
        "Handling encoding issues",
        "Common cleaning patterns",
        "Combining approaches"
      ],
      "created": "2026-04-21 21:10:41",
      "modified": "2026-05-08 09:59:27",
      "commits": 2
    },
    {
      "source": "engine.Rmd",
      "filename": "engine.html",
      "title": "vectra Engine Reference",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What vectra is",
        "Execution model",
        "Pull-based pipeline",
        "Selection vectors (zero-copy filtering)",
        "Columnar storage",
        "Data sources",
        "Output sinks",
        "Supported verbs",
        "Transformation verbs",
        "Aggregation verbs",
        "Ordering verbs",
        "Join verbs",
        "Window functions",
        "Other verbs",
        "tidyselect support",
        "Supported types",
        "Base types",
        "Annotated types",
        "Coercion rules",
        "Arithmetic and comparison expressions",
        "Join key coercion",
        "bind_rows coercion",
        "NA semantics",
        "Storage",
        "Propagation",
        "is.na()",
        "Ordering guarantees",
        "Streaming vs materializing",
        "Streaming nodes (constant memory per batch)",
        "Materializing nodes",
        "External sort (spill-to-disk)",
        "Join memory model",
        "The .vtr file format",
        "Layout",
        "Version history",
        "Encoding and compression (v4)",
        "Query optimizer",
        "Predicate pushdown",
        "Column pruning",
        "Hidden mutate insertion",
        "explain() contract",
        "Hash indexes (.vtri)",
        "Creating indexes",
        "Index format",
        "How the scan uses indexes",
        "Performance characteristics",
        "Materialized blocks",
        "Exact lookups",
        "Fuzzy lookups",
        "Use case",
        "OpenMP parallelization",
        "Which operations parallelize",
        "Thread safety",
        "Current limitations",
        "Fallback behavior",
        "Grouping preservation",
        "Package conflicts"
      ],
      "created": "2026-04-21 21:10:41",
      "modified": "2026-04-21 21:10:41",
      "commits": 1
    },
    {
      "source": "large-data.Rmd",
      "filename": "large-data.html",
      "title": "Working with Large Data",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Streaming pipelines",
        "Batch sizing",
        "Append workflows",
        "Delete and tombstones",
        "Diff between snapshots",
        "External sort",
        "Streaming joins",
        "Multi-file workflows",
        "Format conversion ETL",
        "Memory budget planning",
        "Cleanup"
      ],
      "created": "2026-04-21 21:10:41",
      "modified": "2026-05-08 09:59:27",
      "commits": 2
    }
  ],
  "_score": 4.574031267727719,
  "_indexed": false,
  "_nocasepkg": "vectra",
  "_universes": [
    "cran"
  ],
  "_previous": "0.6.2",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.7.1",
      "date": "2026-06-12T07:40:46.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "8c680df70de5475494115c7fe0bf8fcd7cf7a4fa",
      "fileid": "3a50600a2a232118e02c6892fdc81b7b27a91c16cd7987aa2f48635cad1eda45",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27401224339"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.7.1",
      "date": "2026-06-12T07:39:46.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "8c680df70de5475494115c7fe0bf8fcd7cf7a4fa",
      "fileid": "97f5449668d8559a192df628c73d36e46969d1ff3eddc9299a01702df86d2fe4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27401224339"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.7.1",
      "date": "2026-06-12T07:39:56.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "8c680df70de5475494115c7fe0bf8fcd7cf7a4fa",
      "fileid": "0dab1734261a42c50d2f886239be1a09cbc32bdc74a3c953882f20fd117dcaa8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27401224339"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.7.1",
      "date": "2026-06-12T07:39:36.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "8c680df70de5475494115c7fe0bf8fcd7cf7a4fa",
      "fileid": "be4c3bded68f5c24b0982088a9d8b092f49201852ae6ed584336d4c99250b42a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27401224339"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.7.1",
      "date": "2026-06-12T07:40:10.000Z",
      "arch": "emscripten",
      "commit": "8c680df70de5475494115c7fe0bf8fcd7cf7a4fa",
      "fileid": "deb3a738ea97351fba63ec29dce864b7d9056d2e455fcf08e5474fa790ea6fdb",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27401224339"
    }
  ]
}