Initial release.
duckspending_connection() opens a DuckDB connection over the
USAspending DuckLake archive at https://usaspending.grant-witness.us.
Defaults to the latest snapshot; pass snapshots = "YYYYMMDD" to
pin to a historical snapshot, or snapshots = "all" to attach
every published snapshot at once and expose them as date-named
schemas. The package caches both the connection and the catalog
file per session for sub-millisecond repeat calls.duckspending_snapshots() and duckspending_latest() discover
available snapshots from a manifest on the archive (1 h disk cache).duckspending_tbl(name, snapshot, conn) returns a lazy dplyr
reference to any user-facing table. Convenience accessors for the
headline tables: duckspending_subawards(),
duckspending_assistance_transactions(),
duckspending_procurement_transactions(), duckspending_agencies(),
duckspending_recipients().duckspending_attach() / duckspending_detach() /
duckspending_attached() manage extra snapshots on an open
connection at runtime. Defensive argument-order check catches the
common (conn, snapshot) swap with a clean error.duckspending_describe() lists tables and columns across attached
snapshots; the description column auto-populates from
duckspending_descriptions() (per-session ETag/Last-Modified cache).duckspending_view() and connection_view.duckspending_connection()
integrate with the RStudio / Positron Connections pane. The pane
preview pins wide partitioned tables to a single Parquet file at
plan time so previewing source_procurement_transaction is <1 s
over the network instead of ~130 s. DuckLake metadata tables (leaf
names starting with _ or ducklake_) are hidden in the pane but
remain visible via DBI::dbListObjects().getting-started, cross-snapshot, sql-escape-hatch.R CMD check passes 0 errors / 0 warnings / 0 notes.