{
  "_id": "6aac881c3d719c1f84071a15",
  "Package": "ducklake",
  "Title": "Interact with 'DuckLake' from R",
  "Version": "0.9.0.9000",
  "Authors@R": "c(\nperson(\"Travis\", \"Gerke\", , \"travisgerke@gmail.com\", role = c(\"aut\", \"cre\")),\nperson(\"Stefan\", \"Linner\", role = \"ctb\"),\nperson(\"Javier\", \"Orraca-Deatcu\", role = \"ctb\")\n)",
  "Description": "A 'tidyverse'-friendly interface to 'DuckLake'\n<https://ducklake.select/>, the 'DuckDB' lakehouse format.\nAttach versioned data lakes from R and work with them using\nfamiliar 'dplyr' verbs, with support for ACID transactions,\ntime travel queries, snapshot audit trails, data inlining,\nencrypted storage, multiple catalog backends ('DuckDB',\n'PostgreSQL', 'SQLite', 'MySQL'), and remote access over the\n'Quack' protocol from 'DuckDB'.",
  "License": "MIT + file LICENSE",
  "URL": "https://tgerke.github.io/ducklake-r/,\nhttps://github.com/tgerke/ducklake-r",
  "BugReports": "https://github.com/tgerke/ducklake-r/issues",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/roxygen2/version": "8.1.0",
  "Config/Needs/website": "admiral, pharmaversesdtm, haven, labelled,\nggplot2, stringr, purrr, tgerke/dplyneage",
  "Language": "en-US",
  "Config/pak/sysreqs": "libicu-dev xz-utils",
  "Repository": "https://tgerke.r-universe.dev",
  "Date/Publication": "2026-09-17 21:41:13 UTC",
  "RemoteUrl": "https://github.com/tgerke/ducklake-r",
  "RemoteRef": "HEAD",
  "RemoteSha": "811a0e22872a2f73bf120a3425269186482b0280",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-18 00:35:08 UTC",
    "User": "root"
  },
  "Author": "Travis Gerke [aut, cre],\nStefan Linner [ctb],\nJavier Orraca-Deatcu [ctb]",
  "Maintainer": "Travis Gerke <travisgerke@gmail.com>",
  "_user": "tgerke",
  "_type": "src",
  "_file": "ducklake_0.9.0.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/a775714be3e0aee4b7ca3511c1ed81b5d6749ac1ec2a97877e194ce427617a3f",
  "_filesize": 993566,
  "_sha256": "a775714be3e0aee4b7ca3511c1ed81b5d6749ac1ec2a97877e194ce427617a3f",
  "_expires": "2026-12-27T00:38:49.000Z",
  "_created": "2026-09-18T00:35:08.000Z",
  "_published": "2026-09-18T00:38:52.046Z",
  "_jobs": [
    {
      "job": 105436158367,
      "time": 169,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10526592150"
    },
    {
      "job": 105436158341,
      "time": 164,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10526651973"
    },
    {
      "job": 105436158382,
      "time": 96,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10527051152"
    },
    {
      "job": 105436158366,
      "time": 106,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10526876386"
    },
    {
      "job": 105435233737,
      "time": 262,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10527205558"
    },
    {
      "job": 105436158265,
      "time": 120,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10526082231"
    },
    {
      "job": 105436158374,
      "time": 116,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10526856462"
    },
    {
      "job": 105436158354,
      "time": 122,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10526876417"
    },
    {
      "job": 105436158397,
      "time": 103,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10526127048"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415",
  "_status": "success",
  "_upstream": "https://github.com/tgerke/ducklake-r",
  "_commit": {
    "id": "811a0e22872a2f73bf120a3425269186482b0280",
    "author": "Travis Gerke <3831928+tgerke@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #80 from tgerke/readme-0.9.0-features\n\nBring the README's feature list up to 0.9.0",
    "time": 1789681273
  },
  "_maintainer": {
    "name": "Travis Gerke",
    "email": "travisgerke@gmail.com",
    "login": "tgerke",
    "linkedin": "in/travisgerke",
    "description": "Head of Applied Intelligence @ PCCTC | AI strategy & cloud research platforms for clinical trials | biostatistician & R developer",
    "uuid": 3831928
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "DBI",
      "role": "Imports"
    },
    {
      "package": "dbplyr",
      "version": ">= 2.5.0",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "duckdb",
      "version": ">= 1.5.5",
      "role": "Imports"
    },
    {
      "package": "askpass",
      "role": "Suggests"
    },
    {
      "package": "fs",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "htmlwidgets",
      "role": "Suggests"
    },
    {
      "package": "jsonlite",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "labelled",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "tgerke",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-39",
      "n": 4
    },
    {
      "week": "2025-40",
      "n": 9
    },
    {
      "week": "2026-06",
      "n": 31
    },
    {
      "week": "2026-07",
      "n": 13
    },
    {
      "week": "2026-08",
      "n": 3
    },
    {
      "week": "2026-16",
      "n": 9
    },
    {
      "week": "2026-28",
      "n": 15
    },
    {
      "week": "2026-33",
      "n": 5
    },
    {
      "week": "2026-35",
      "n": 5
    },
    {
      "week": "2026-36",
      "n": 6
    },
    {
      "week": "2026-37",
      "n": 12
    },
    {
      "week": "2026-38",
      "n": 12
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-02-09"
    },
    {
      "name": "v0.2.0",
      "date": "2026-04-14"
    },
    {
      "name": "v0.3.0",
      "date": "2026-07-07"
    },
    {
      "name": "v0.4.0",
      "date": "2026-07-08"
    },
    {
      "name": "v0.4.1",
      "date": "2026-07-10"
    },
    {
      "name": "v0.5.0",
      "date": "2026-08-10"
    },
    {
      "name": "v0.6.0",
      "date": "2026-08-26"
    },
    {
      "name": "v0.7.0",
      "date": "2026-09-05"
    },
    {
      "name": "v0.8.0",
      "date": "2026-09-11"
    },
    {
      "name": "v0.9.0",
      "date": "2026-09-17"
    }
  ],
  "_topics": [
    "data-engineering",
    "data-lake",
    "dbplyr",
    "dplyr",
    "duckdb",
    "ducklake",
    "lakehouse",
    "parquet",
    "tidyverse"
  ],
  "_stars": 26,
  "_contributors": [
    {
      "user": "tgerke",
      "count": 236,
      "uuid": 3831928
    },
    {
      "user": "stefanlinner",
      "count": 11,
      "uuid": 83122367
    },
    {
      "user": "javorraca",
      "count": 3,
      "uuid": 40880964
    },
    {
      "user": "sounkou-bioinfo",
      "count": 1,
      "uuid": 56392505
    }
  ],
  "_userbio": {
    "uuid": 3831928,
    "type": "user",
    "name": "Travis Gerke",
    "followers": 142,
    "description": "Head of Applied Intelligence @ PCCTC | AI strategy & cloud research platforms for clinical trials | biostatistician & R developer"
  },
  "_downloads": {
    "count": 121,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ducklake"
  },
  "_devurl": "https://github.com/tgerke/ducklake-r",
  "_pkgdown": "https://tgerke.github.io/ducklake-r/",
  "_searchresults": 28,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ducklake.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/tgerke/ducklake-r",
  "_realowner": "tgerke",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.6.0",
      "date": "2026-09-09"
    }
  ],
  "_exports": [
    "add_data_files",
    "add_table_column",
    "attach_ducklake",
    "attach_quack",
    "backup_ducklake",
    "begin_transaction",
    "checkpoint_ducklake",
    "cleanup_old_files",
    "commit_transaction",
    "create_check",
    "create_schema",
    "create_storage_secret",
    "create_table",
    "create_view",
    "delete_orphaned_files",
    "detach_ducklake",
    "detach_quack",
    "drop_schema",
    "drop_table_column",
    "drop_view",
    "ducklake_exec",
    "ducklake_extension_available",
    "expire_snapshots",
    "flush_inlined_data",
    "get_ducklake_backend",
    "get_ducklake_connection",
    "get_ducklake_info",
    "get_ducklake_options",
    "get_ducklake_table",
    "get_ducklake_table_asof",
    "get_ducklake_table_version",
    "get_inlining_row_limit",
    "get_metadata_table",
    "get_table_changes",
    "get_table_comments",
    "get_table_info",
    "get_table_partitions",
    "get_table_sorting",
    "install_ducklake",
    "install_quack",
    "list_ducklake_files",
    "list_ducklake_tables",
    "list_table_snapshots",
    "merge_adjacent_files",
    "merge_into",
    "plot_snapshots",
    "plot_table_changes",
    "plot_table_files",
    "quack_query",
    "quack_serve",
    "quack_stop",
    "rename_ducklake_table",
    "rename_table_column",
    "replace_table",
    "reset_table_partitioning",
    "reset_table_sorting",
    "restore_table_version",
    "rewrite_data_files",
    "rollback_transaction",
    "rows_delete",
    "rows_insert",
    "rows_update",
    "rows_upsert",
    "run_checks",
    "set_column_comments",
    "set_column_not_null",
    "set_column_type",
    "set_ducklake_connection",
    "set_ducklake_option",
    "set_ducklake_retry",
    "set_inlining_row_limit",
    "set_snapshot_metadata",
    "set_table_comment",
    "set_table_partitioning",
    "set_table_sorting",
    "show_ducklake_query",
    "view_table_changes",
    "with_transaction"
  ],
  "_help": [
    {
      "page": "add_data_files",
      "title": "Register existing Parquet files with a DuckLake table",
      "concept": [
        "table operations"
      ],
      "topics": [
        "add_data_files"
      ]
    },
    {
      "page": "add_table_column",
      "title": "Add a column to a DuckLake table",
      "concept": [
        "schema evolution"
      ],
      "topics": [
        "add_table_column"
      ]
    },
    {
      "page": "attach_ducklake",
      "title": "Create or attach a ducklake",
      "concept": [
        "connection management"
      ],
      "topics": [
        "attach_ducklake"
      ]
    },
    {
      "page": "attach_quack",
      "title": "Connect to a remote Quack server",
      "concept": [
        "quack"
      ],
      "topics": [
        "attach_quack"
      ]
    },
    {
      "page": "backup_ducklake",
      "title": "Create a DuckLake backup",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "backup_ducklake"
      ]
    },
    {
      "page": "begin_transaction",
      "title": "Begin a transaction",
      "concept": [
        "transactions"
      ],
      "topics": [
        "begin_transaction"
      ]
    },
    {
      "page": "checkpoint_ducklake",
      "title": "Run a DuckLake checkpoint",
      "concept": [
        "data inlining",
        "maintenance"
      ],
      "topics": [
        "checkpoint_ducklake"
      ]
    },
    {
      "page": "cleanup_old_files",
      "title": "Delete files scheduled for removal",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "cleanup_old_files"
      ]
    },
    {
      "page": "commit_transaction",
      "title": "Commit a transaction",
      "concept": [
        "transactions"
      ],
      "topics": [
        "commit_transaction"
      ]
    },
    {
      "page": "create_check",
      "title": "Create a data check from a rule",
      "topics": [
        "create_check"
      ]
    },
    {
      "page": "create_schema",
      "title": "Create a schema in a DuckLake",
      "concept": [
        "table operations"
      ],
      "topics": [
        "create_schema"
      ]
    },
    {
      "page": "create_storage_secret",
      "title": "Store object storage credentials for a session",
      "concept": [
        "connection management"
      ],
      "topics": [
        "create_storage_secret"
      ]
    },
    {
      "page": "create_table",
      "title": "Create a DuckLake table",
      "concept": [
        "table operations"
      ],
      "topics": [
        "create_table"
      ]
    },
    {
      "page": "create_view",
      "title": "Create a DuckLake view from a dplyr pipeline",
      "concept": [
        "table operations"
      ],
      "topics": [
        "create_view"
      ]
    },
    {
      "page": "delete_orphaned_files",
      "title": "Delete orphaned files",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "delete_orphaned_files"
      ]
    },
    {
      "page": "detach_ducklake",
      "title": "Detach from a ducklake",
      "concept": [
        "connection management"
      ],
      "topics": [
        "detach_ducklake"
      ]
    },
    {
      "page": "detach_quack",
      "title": "Disconnect from a remote Quack server",
      "concept": [
        "quack"
      ],
      "topics": [
        "detach_quack"
      ]
    },
    {
      "page": "drop_schema",
      "title": "Drop a schema from a DuckLake",
      "concept": [
        "table operations"
      ],
      "topics": [
        "drop_schema"
      ]
    },
    {
      "page": "drop_table_column",
      "title": "Drop a column from a DuckLake table",
      "concept": [
        "schema evolution"
      ],
      "topics": [
        "drop_table_column"
      ]
    },
    {
      "page": "drop_view",
      "title": "Drop a DuckLake view",
      "concept": [
        "table operations"
      ],
      "topics": [
        "drop_view"
      ]
    },
    {
      "page": "ducklake_exec",
      "title": "Execute DuckLake operations from dplyr queries",
      "concept": [
        "table operations"
      ],
      "topics": [
        "ducklake_exec"
      ]
    },
    {
      "page": "ducklake_extension_available",
      "title": "Is the ducklake DuckDB extension usable?",
      "concept": [
        "connection management"
      ],
      "topics": [
        "ducklake_extension_available"
      ]
    },
    {
      "page": "expire_snapshots",
      "title": "Expire old snapshots",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "expire_snapshots"
      ]
    },
    {
      "page": "flush_inlined_data",
      "title": "Flush inlined data to Parquet files",
      "concept": [
        "data inlining",
        "maintenance"
      ],
      "topics": [
        "flush_inlined_data"
      ]
    },
    {
      "page": "get_ducklake_backend",
      "title": "Get the catalog backend type of an attached lake",
      "concept": [
        "connection management"
      ],
      "topics": [
        "get_ducklake_backend"
      ]
    },
    {
      "page": "get_ducklake_connection",
      "title": "Get the DuckDB connection used by ducklake",
      "concept": [
        "connection management"
      ],
      "topics": [
        "get_ducklake_connection"
      ]
    },
    {
      "page": "get_ducklake_info",
      "title": "Describe an attached DuckLake",
      "concept": [
        "connection management"
      ],
      "topics": [
        "get_ducklake_info"
      ]
    },
    {
      "page": "get_ducklake_options",
      "title": "List the options set on a DuckLake",
      "concept": [
        "options"
      ],
      "topics": [
        "get_ducklake_options"
      ]
    },
    {
      "page": "get_ducklake_table",
      "title": "Get a DuckLake table",
      "concept": [
        "table operations"
      ],
      "topics": [
        "get_ducklake_table"
      ]
    },
    {
      "page": "get_ducklake_table_asof",
      "title": "Query a table at a specific timestamp (time travel)",
      "concept": [
        "time travel"
      ],
      "topics": [
        "get_ducklake_table_asof"
      ]
    },
    {
      "page": "get_ducklake_table_version",
      "title": "Query a table at a specific version/snapshot",
      "concept": [
        "time travel"
      ],
      "topics": [
        "get_ducklake_table_version"
      ]
    },
    {
      "page": "get_inlining_row_limit",
      "title": "Get the current data inlining row limit",
      "concept": [
        "data inlining"
      ],
      "topics": [
        "get_inlining_row_limit"
      ]
    },
    {
      "page": "get_metadata_table",
      "title": "Get a DuckLake metadata table",
      "concept": [
        "table operations"
      ],
      "topics": [
        "get_metadata_table"
      ]
    },
    {
      "page": "get_table_changes",
      "title": "Get the changes made to a table between two snapshots",
      "concept": [
        "time travel"
      ],
      "topics": [
        "get_table_changes"
      ]
    },
    {
      "page": "get_table_comments",
      "title": "Read table, view, and column comments from a DuckLake catalog",
      "concept": [
        "table documentation"
      ],
      "topics": [
        "get_table_comments"
      ]
    },
    {
      "page": "get_table_info",
      "title": "Get file statistics for the tables in a lake",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "get_table_info"
      ]
    },
    {
      "page": "get_table_partitions",
      "title": "List the partitioning keys of tables in a lake",
      "concept": [
        "partitioning"
      ],
      "topics": [
        "get_table_partitions"
      ]
    },
    {
      "page": "get_table_sorting",
      "title": "List the sort keys of tables in a lake",
      "concept": [
        "sorting"
      ],
      "topics": [
        "get_table_sorting"
      ]
    },
    {
      "page": "install_ducklake",
      "title": "Download the ducklake extension ahead of time",
      "concept": [
        "connection management"
      ],
      "topics": [
        "install_ducklake"
      ]
    },
    {
      "page": "install_quack",
      "title": "Install the Quack extension",
      "concept": [
        "quack"
      ],
      "topics": [
        "install_quack"
      ]
    },
    {
      "page": "list_ducklake_files",
      "title": "List the data files backing a DuckLake table",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "list_ducklake_files"
      ]
    },
    {
      "page": "list_ducklake_tables",
      "title": "List the tables and views in a DuckLake catalog",
      "concept": [
        "table operations"
      ],
      "topics": [
        "list_ducklake_tables"
      ]
    },
    {
      "page": "list_table_snapshots",
      "title": "List available snapshots for a table",
      "concept": [
        "time travel"
      ],
      "topics": [
        "list_table_snapshots"
      ]
    },
    {
      "page": "merge_adjacent_files",
      "title": "Merge adjacent Parquet files",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "merge_adjacent_files"
      ]
    },
    {
      "page": "merge_into",
      "title": "Merge a source table into a DuckLake table",
      "concept": [
        "row operations"
      ],
      "topics": [
        "merge_into"
      ]
    },
    {
      "page": "plot_snapshots",
      "title": "Plot the snapshot history of a table or lake",
      "concept": [
        "time travel"
      ],
      "topics": [
        "plot_snapshots"
      ]
    },
    {
      "page": "plot_table_changes",
      "title": "Plot the rows changed in each snapshot of a table",
      "concept": [
        "time travel"
      ],
      "topics": [
        "plot_table_changes"
      ]
    },
    {
      "page": "plot_table_files",
      "title": "Plot the file layout of a lake",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "plot_table_files"
      ]
    },
    {
      "page": "quack_query",
      "title": "Run a one-off query against a remote Quack server",
      "concept": [
        "quack"
      ],
      "topics": [
        "quack_query"
      ]
    },
    {
      "page": "quack_serve",
      "title": "Serve the current session over Quack",
      "concept": [
        "quack"
      ],
      "topics": [
        "quack_serve"
      ]
    },
    {
      "page": "quack_stop",
      "title": "Stop a Quack server",
      "concept": [
        "quack"
      ],
      "topics": [
        "quack_stop"
      ]
    },
    {
      "page": "rename_ducklake_table",
      "title": "Rename a DuckLake table",
      "concept": [
        "schema evolution"
      ],
      "topics": [
        "rename_ducklake_table"
      ]
    },
    {
      "page": "rename_table_column",
      "title": "Rename a column in a DuckLake table",
      "concept": [
        "schema evolution"
      ],
      "topics": [
        "rename_table_column"
      ]
    },
    {
      "page": "replace_table",
      "title": "Replace a table with modified data and create a new snapshot",
      "concept": [
        "table operations"
      ],
      "topics": [
        "replace_table"
      ]
    },
    {
      "page": "reset_table_partitioning",
      "title": "Remove partitioning keys from a table",
      "concept": [
        "partitioning"
      ],
      "topics": [
        "reset_table_partitioning"
      ]
    },
    {
      "page": "reset_table_sorting",
      "title": "Remove the sort order from a table",
      "concept": [
        "sorting"
      ],
      "topics": [
        "reset_table_sorting"
      ]
    },
    {
      "page": "restore_table_version",
      "title": "Restore a table to a previous version",
      "concept": [
        "time travel"
      ],
      "topics": [
        "restore_table_version"
      ]
    },
    {
      "page": "rewrite_data_files",
      "title": "Rewrite data files with many deletes",
      "concept": [
        "maintenance"
      ],
      "topics": [
        "rewrite_data_files"
      ]
    },
    {
      "page": "rollback_transaction",
      "title": "Rollback a transaction",
      "concept": [
        "transactions"
      ],
      "topics": [
        "rollback_transaction"
      ]
    },
    {
      "page": "rows_delete",
      "title": "Delete rows from a DuckLake table",
      "concept": [
        "row operations"
      ],
      "topics": [
        "rows_delete"
      ]
    },
    {
      "page": "rows_insert",
      "title": "Insert rows into a DuckLake table",
      "concept": [
        "row operations"
      ],
      "topics": [
        "rows_insert"
      ]
    },
    {
      "page": "rows_update",
      "title": "Update rows in a DuckLake table",
      "concept": [
        "row operations"
      ],
      "topics": [
        "rows_update"
      ]
    },
    {
      "page": "rows_upsert",
      "title": "Upsert rows into a DuckLake table",
      "concept": [
        "row operations"
      ],
      "topics": [
        "rows_upsert"
      ]
    },
    {
      "page": "run_checks",
      "title": "Run the data checks stored in a schema",
      "topics": [
        "run_checks"
      ]
    },
    {
      "page": "set_column_comments",
      "title": "Set column comments on a DuckLake table",
      "concept": [
        "table documentation"
      ],
      "topics": [
        "set_column_comments"
      ]
    },
    {
      "page": "set_column_not_null",
      "title": "Require or allow NULL values in a column",
      "concept": [
        "schema evolution"
      ],
      "topics": [
        "set_column_not_null"
      ]
    },
    {
      "page": "set_column_type",
      "title": "Change the type of a DuckLake table column",
      "concept": [
        "schema evolution"
      ],
      "topics": [
        "set_column_type"
      ]
    },
    {
      "page": "set_ducklake_connection",
      "title": "Use your own DuckDB connection with ducklake",
      "concept": [
        "connection management"
      ],
      "topics": [
        "set_ducklake_connection"
      ]
    },
    {
      "page": "set_ducklake_option",
      "title": "Set a DuckLake option",
      "concept": [
        "options"
      ],
      "topics": [
        "set_ducklake_option"
      ]
    },
    {
      "page": "set_ducklake_retry",
      "title": "Configure how DuckLake retries conflicting transactions",
      "concept": [
        "transactions"
      ],
      "topics": [
        "set_ducklake_retry"
      ]
    },
    {
      "page": "set_inlining_row_limit",
      "title": "Set the data inlining row limit",
      "concept": [
        "data inlining"
      ],
      "topics": [
        "set_inlining_row_limit"
      ]
    },
    {
      "page": "set_snapshot_metadata",
      "title": "Set metadata for a snapshot",
      "concept": [
        "transactions"
      ],
      "topics": [
        "set_snapshot_metadata"
      ]
    },
    {
      "page": "set_table_comment",
      "title": "Set the comment on a DuckLake table or view",
      "concept": [
        "table documentation"
      ],
      "topics": [
        "set_table_comment"
      ]
    },
    {
      "page": "set_table_partitioning",
      "title": "Set partitioning keys for a table",
      "concept": [
        "partitioning"
      ],
      "topics": [
        "set_table_partitioning"
      ]
    },
    {
      "page": "set_table_sorting",
      "title": "Set the sort order of a table",
      "concept": [
        "sorting"
      ],
      "topics": [
        "set_table_sorting"
      ]
    },
    {
      "page": "show_ducklake_query",
      "title": "Show the SQL that would be executed by ducklake operations",
      "concept": [
        "table operations"
      ],
      "topics": [
        "show_ducklake_query"
      ]
    },
    {
      "page": "view_table_changes",
      "title": "View a table's change feed interactively",
      "concept": [
        "time travel"
      ],
      "topics": [
        "view_table_changes"
      ]
    },
    {
      "page": "with_transaction",
      "title": "Execute code within a transaction",
      "concept": [
        "transactions"
      ],
      "topics": [
        "with_transaction"
      ]
    }
  ],
  "_pkglogo": "https://github.com/tgerke/ducklake-r/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/tgerke/ducklake-r/raw/HEAD/README.md",
  "_rundeps": [
    "blob",
    "cli",
    "cpp11",
    "DBI",
    "dbplyr",
    "dplyr",
    "duckdb",
    "generics",
    "glue",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rlang",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "deployment.Rmd",
      "filename": "deployment.html",
      "title": "Choosing a Deployment",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What a lake looks like",
        "Which catalog",
        "Where the data goes",
        "Who can reach it",
        "Day-one setup",
        "Upgrading",
        "Where to next"
      ],
      "created": "2026-09-05 01:56:28",
      "modified": "2026-09-11 15:03:20",
      "commits": 5
    },
    {
      "source": "data-checks.Rmd",
      "filename": "data-checks.html",
      "title": "Data Checks",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The rule the lake enforces",
        "Rules as views",
        "Running the checks",
        "Gating a load",
        "Recording the outcome on the commit",
        "Which rows failed",
        "Rules have history",
        "Rules and data as of a snapshot",
        "Next to affirm and data-dict"
      ],
      "created": "2026-09-17 18:29:14",
      "modified": "2026-09-17 20:21:21",
      "commits": 2
    },
    {
      "source": "data-inlining.Rmd",
      "filename": "data-inlining.html",
      "title": "Data Inlining",
      "engine": "knitr::rmarkdown",
      "headings": [
        "How it works",
        "Setup",
        "Small writes are automatically inlined",
        "Incremental updates stay inlined",
        "Removing rows",
        "Large writes bypass inlining automatically",
        "Configuring the inlining threshold",
        "Global default",
        "Per-connection at attach time",
        "Per-table persistent override",
        "Disable inlining",
        "Flushing inlined data to Parquet",
        "Flushing a specific table",
        "Checkpoint: one-stop maintenance",
        "Time travel with inlined data",
        "When to use inlining",
        "What inlining does not change",
        "Regulated environments",
        "Summary"
      ],
      "created": "2026-07-07 19:54:30",
      "modified": "2026-09-09 17:09:48",
      "commits": 9
    },
    {
      "source": "ducklake.Rmd",
      "filename": "ducklake.html",
      "title": "Getting Started with ducklake",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What a DuckLake is",
        "Install",
        "Attach a lake",
        "Add a table",
        "Why most calls sit inside with_transaction()",
        "Read a table",
        "Change a table",
        "See the history",
        "Detach",
        "Where to go next"
      ],
      "created": "2026-02-04 23:41:04",
      "modified": "2026-09-11 15:03:20",
      "commits": 24
    },
    {
      "source": "loading-data.Rmd",
      "filename": "loading-data.html",
      "title": "Loading Data",
      "engine": "knitr::rmarkdown",
      "headings": [
        "From a data frame",
        "From a file",
        "From a URL",
        "From a dplyr pipeline",
        "Derive a table inside the database",
        "Put tables in schemas",
        "Register Parquet files in place",
        "Migrate a DuckDB database",
        "Exchange data with Iceberg"
      ],
      "created": "2026-09-07 05:04:11",
      "modified": "2026-09-07 05:04:11",
      "commits": 1
    },
    {
      "source": "modifying-tables.Rmd",
      "filename": "modifying-tables.html",
      "title": "Modifying Tables with Version Control",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Choosing a Modification Approach",
        "For incremental changes: the rows_* functions",
        "For update-or-insert: rows_upsert()",
        "For staging syncs and conditional merges: merge_into()",
        "For schema changes: evolve in place",
        "For structural or bulk changes: replace_table()",
        "Group related changes with with_transaction()",
        "Examples",
        "Incremental changes with the rows_* functions",
        "Updating specific rows with replace_table()",
        "Adding derived columns",
        "Reshaping the schema in place",
        "Filtering rows with replace_table()",
        "Time Travel: Accessing Previous Versions"
      ],
      "created": "2026-02-04 23:41:04",
      "modified": "2026-09-07 18:14:08",
      "commits": 16
    },
    {
      "source": "quack-remote-access.Rmd",
      "filename": "quack-remote-access.html",
      "title": "Quack Remote Access",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installing the extension",
        "Connecting to a shared lake",
        "Connecting to a plain database",
        "Serving a lake of your own",
        "A note on access",
        "Quack or a shared catalog?",
        "Caveats",
        "Learn more"
      ],
      "created": "2026-07-07 19:56:23",
      "modified": "2026-09-07 18:14:08",
      "commits": 2
    },
    {
      "source": "storage-and-backups.Rmd",
      "filename": "storage-and-backups.html",
      "title": "Storage and Backup Management",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "DuckLake's Two-Component Architecture",
        "Storage Options",
        "Storage Patterns",
        "Cloud Storage Credentials",
        "Inspecting DuckLake Files",
        "Catalog Files",
        "Storage (Data) Files",
        "Understanding File Organization",
        "Backup Strategies",
        "Backing Up the Catalog",
        "Copying the Catalog",
        "Backing Up Storage (Data Files)",
        "Local Storage Backup",
        "Cloud Storage Backup",
        "Recovery Procedures",
        "Recovering from Catalog Backup",
        "Recovering from Data File Loss",
        "Routine Maintenance",
        "Maintenance Considerations",
        "Complete Backup Example",
        "Cleanup",
        "Summary"
      ],
      "created": "2026-02-06 23:22:21",
      "modified": "2026-09-07 18:14:08",
      "commits": 16
    },
    {
      "source": "time-travel.Rmd",
      "filename": "time-travel.html",
      "title": "Time Travel Queries",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Setting Up the Data Lake",
        "Making Changes Over Time",
        "Version 1: Initial data",
        "Version 2: Update fuel efficiency data",
        "Version 3: Add efficiency classification",
        "Version 4: Correct an error",
        "Exploring Version History",
        "List all snapshots",
        "Query a specific version",
        "Query data as of a specific timestamp",
        "Comparing Versions",
        "Restoring Previous Versions",
        "Pinning a Whole Session to a Snapshot",
        "Row Lineage",
        "Use Cases for Time Travel",
        "Metadata and Audit Information"
      ],
      "created": "2026-02-04 23:41:04",
      "modified": "2026-09-15 23:28:01",
      "commits": 17
    },
    {
      "source": "views-comments-labels.Rmd",
      "filename": "views-comments-labels.html",
      "title": "Views, Comments, and Labels",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Views",
        "When a view is the right tool",
        "Table and column comments",
        "Variable labels"
      ],
      "created": "2026-09-07 05:04:11",
      "modified": "2026-09-17 18:29:14",
      "commits": 2
    },
    {
      "source": "visualizing-your-lake.Rmd",
      "filename": "visualizing-your-lake.html",
      "title": "Visualizing Your Lake",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Building Some History",
        "Plotting the Timeline",
        "How Much Changed",
        "Browsing the Changes",
        "How the Data Is Stored",
        "Plotting the Whole Lake",
        "Customizing the Plots",
        "Learn More"
      ],
      "created": "2026-07-08 20:20:12",
      "modified": "2026-09-15 23:28:01",
      "commits": 8
    },
    {
      "source": "transactions.Rmd",
      "filename": "transactions.html",
      "title": "Working with Transactions",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Setup: Loading Initial Data",
        "Approach 1: with_transaction() (Recommended)",
        "Why use with_transaction()?",
        "Single Operation with Metadata",
        "Multiple Operations in a Single Transaction",
        "Automatic Rollback on Error",
        "Approach 2: Manual Transaction Control",
        "When to use manual transactions?",
        "Basic Manual Transaction Workflow",
        "Manual Rollback",
        "Snapshot Metadata: At Commit Time vs After the Fact",
        "Viewing Transaction History",
        "Working with several writers",
        "Comparison: with_transaction() vs Manual Control",
        "Best Practices",
        "Key Concepts Summary"
      ],
      "created": "2026-02-04 23:41:04",
      "modified": "2026-09-11 15:03:20",
      "commits": 13
    }
  ],
  "_score": 8.19658513046397,
  "_indexed": true,
  "_nocasepkg": "ducklake",
  "_universes": [
    "tgerke"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.9.0.9000",
      "date": "2026-09-18T00:37:51.000Z",
      "distro": "resolute",
      "commit": "811a0e22872a2f73bf120a3425269186482b0280",
      "fileid": "https://r2.ropensci.org/fdaf1c2bf6dabc48ccd8cca08f735ff805a84118d791bf8db4cff6ca678ed427",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.9.0.9000",
      "date": "2026-09-18T00:37:46.000Z",
      "distro": "resolute",
      "commit": "811a0e22872a2f73bf120a3425269186482b0280",
      "fileid": "https://r2.ropensci.org/b69d7ef304047bab4658a39feadeb217b35127a0a2bcf1d40f2ea4c2dedcd4d5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.9.0.9000",
      "date": "2026-09-18T00:36:53.000Z",
      "commit": "811a0e22872a2f73bf120a3425269186482b0280",
      "fileid": "https://r2.ropensci.org/72c09a61b20c8f4f4d7506098495073edff130a818a83f2fa8f1954a71b8008c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.9.0.9000",
      "date": "2026-09-18T00:37:00.000Z",
      "commit": "811a0e22872a2f73bf120a3425269186482b0280",
      "fileid": "https://r2.ropensci.org/f6d8c3fb39dbe035bdd9d9302484ad178bb2779b15d1a1106f447d51c7746ded",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.9.0.9000",
      "date": "2026-09-18T00:37:34.000Z",
      "commit": "811a0e22872a2f73bf120a3425269186482b0280",
      "fileid": "https://r2.ropensci.org/4203d631a8a0af81da2f1f28fcd228d432d213e736a94c9e060121ae0941b6b6",
      "status": "success",
      "buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.9.0.9000",
      "date": "2026-09-18T00:36:41.000Z",
      "commit": "811a0e22872a2f73bf120a3425269186482b0280",
      "fileid": "https://r2.ropensci.org/219af1ffaf55209efffd1c8c3cc10a42e5f8fc10fefe1842fac8c8585051af8f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.9.0.9000",
      "date": "2026-09-18T00:36:47.000Z",
      "commit": "811a0e22872a2f73bf120a3425269186482b0280",
      "fileid": "https://r2.ropensci.org/14a050b48a914e465d02a47f469a9f7785ce6575fc8135ae7a690287ecd40dd5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.9.0.9000",
      "date": "2026-09-18T00:36:30.000Z",
      "commit": "811a0e22872a2f73bf120a3425269186482b0280",
      "fileid": "https://r2.ropensci.org/9853b8b1d31eab580cd2adf10569d5870da9e71b257784e83e05435b35afb14c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgerke/actions/runs/35291516415"
    }
  ]
}