Skip to content
CRAN requires the check problems on this package to be fixed before Nov 14 or it will be archived. See the check details

Query 'Azure Data Lake Storage Gen2' with 'DuckDB'

0packages depend
1Kdownloads / year
74.6%test coverage
11/13flavors OK

Overview

About

Provides convenience utilities for using 'DuckDB' directly over datasets stored in 'Azure Data Lake Storage Gen2' (ADLS Gen2, 'abfss://'). Opens connections configured for Azure-backed 'Delta Lake' and 'Parquet' data, registers Azure credentials as 'DuckDB' secrets, and supports optional repository mirrors for restricted networks. Integrates well with 'DBI' for SQL workflows and with 'dplyr' and 'dbplyr' for lazy table queries.

Changes in 0.1.1
  • New collect_arrow() and stream_arrow() return the result of a lazy Azure table as Arrow data, either all at once or in batches, without converting it to a data frame. They need the nanoarrow package. The new "Arrow output" article on the package website shows how to use them with arrow.
  • New "DuckDB connection settings" article on the package website explains which DuckDB settings to change for shared servers, containers and large queries.
  • quak now requires duckdb 1.5.4 or later and DBI 1.2.0 or later, the first releases with the DBI Arrow interface. It also declares R 4.1.0 or later, which it already needed.
  • The extension repository check now runs when quak is attached rather than when it is loaded. It reports through startup messages, which suppressPackageStartupMessages() silences. It gives up on a repository after 10 seconds without a connection, and never stops quak from loading.
Show all changes in 0.1.1Hide the rest of the changes in 0.1.1

Bug fixes

  • The default extension cache directory is now worked out on the machine where quak runs. It was worked out when the package was built, so binary packages pointed it at the build machine's home directory, for example /home/builder/.cache/R/quak. When DuckDB's own INSTALL failed, the manual install then stopped with "permission denied" (#15).
  • tbl_delta(), load_delta(), az_delta_files() and the Delta readers behind az_schema() and az_glimpse() work again. They passed the delta extension the account-host URL form (abfss://account.dfs.core.windows.net/container/path), which it rejects with "URL did not match any known pattern". They now pass abfss://container@account.dfs.core.windows.net/path. Delta tables never match an account-scoped secret, so use an unscoped secret for them (#18).
  • load_delta() and tbl_delta() no longer accept timestamp. DuckDB's delta extension accepts a TIMESTAMP attach option but ignores it, so callers silently received the latest snapshot instead of a historical one. Supplying timestamp now raises an error; use version, which DuckDB does honour (#2).
  • Account-scoped Azure secrets are now scoped to the account's actual hosts (abfss://<account>.dfs.core.windows.net/ and az://<account>.blob.core.windows.net/) rather than abfss://<account>/, which matched no real URL. Account secrets registered by az_set_token_secret(), az_set_sp_secret() and az_set_chain_secret() were therefore never selected, letting queries fall back to another secret or to anonymous access (#3).
  • Azure URLs written as abfss://container@account/path are now normalised to abfss://account.dfs.core.windows.net/container/path. The former is not a URL form DuckDB supports, and no account-scoped secret could match it (#3).
  • az_copy_to() and az_write_parquet() now reject a lazy table that belongs to a different connection than conn, instead of rendering its SQL and running it against conn — which silently exported the wrong rows when both connections held a table of the same name (#4).
  • load_dataset() now forwards reader options to load_csv() and load_json(). Valid options such as header and maximum_object_size were rejected before reaching the loader, making the dispatcher less capable than the loaders it wraps (#5).

From NEWS.md in the release

Install

Health

CRAN checks
2ERROR11OK
Check messages
ERRORtestsr-devel-linux-x86_64-fedora-gcc
Running ‘testthat.R’ [17s/48s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > library(quak)
  > 
  > test_check("quak")
  duckdb is storing downloaded extensions and secrets under ~/.duckdb:
  i /data/localhost/ripley/.duckdb
  This persists across sessions and is shared with the DuckDB CLI and other clients.
  i Run duckdb(shared_home = FALSE) to use a temporary directory instead.
  i See ?duckdb_storage for details and alternatives.
  duckdb is storing downloaded extensions and secrets under ~/.duckdb:
  i /data/localhost/ripley/.duckdb
  This persists across sessions and is shar
...[truncated]...
════════════════
  • On CRAN (21): 'test-azure.R:2:3', 'test-azure.R:22:3', 'test-azure.R:39:3',
    'test-azure.R:56:3', 'test-azure.R:67:3', 'test-azure.R:91:3',
    'test-azure.R:109:3', 'test-azure.R:128:3', 'test-azure.R:139:3',
    'test-azure.R:185:3', 'test-azure.R:208:3', 'test-datasets.R:234:3',
    'test-extensions.R:2:3', 'test-extensions.R:12:3', 'test-extensions.R:22:3',
    'test-extensions.R:39:3', 'test-extensions.R:51:3',
    'test-extensions.R:302:3', 'test-extensions.R:338:3',
    'test-extensions.R:352:3', 'test-extensions.R:367:3'
  • azure extension not installed (1): 'test-tables.R:41:3'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-connection.R:104:3'): az_tune is quiet and wraps DuckDB setting failures ──
  Expected `az_tune(conn, transport = "curl")` to throw a error with class <quak_error_azure_tune_failed>.
  
  [ FAIL 1 | WARN 0 | SKIP 22 | PASS 327 ]
  Error:
  ! Test failures.
  Execution halted
ERRORwhether package can be installedr-devel-linux-x86_64-fedora-clang
Installation failed.
See ‘/data/localhost/ripley/R/packages/tests-clang/quak.Rcheck/00install.out’ for details.

CRAN check page ↗

Slowest check: 1.9 min · r-oldrel-windows-x86_64
Status changes
  • ERROR11 OK, 2 ERROR2026-10-24
  • OK13 OK2026-09-30
  • ERROR12 OK, 1 ERROR2026-09-04
  • OK13 OK2026-08-05
  • NOTE12 OK, 1 NOTE2026-08-01
Show 1 earlier changeHide 1 earlier change
  • OK8 OK2026-06-10
Advisories

none known

Documentation

In release 0.1.1
READMEYes · 433 wordsVignettes· In the repository, left out of the releaseNEWSYes · 100% structured · mentions 0.1.1Citation fileNoWebsiteYes · pkgdown

The repository also keeps web-only articles.

Help pages
61 (18 internal)includes a package overview page
Examples that run
33%14 run in a plain check · 28 never run
Exported functions with examples
100%
Documented parameters
100%
Return-value docs
100%
Help pages citing references
0%

Downloads

1K
CRAN downloads in the past year
Rank #19,599 · ~3/day · ~85/mo
Daily download trend is not available in this view yet.
30630 days
67790 days
1K1 year
Compare downloads with other packages →
Also on23 r2u2 autocran

Repository

0Stars
0Forks
3Open issues
0Open PRs
2Releases
25Commits
3Commit identities
azure-storageduckdbr
25 commits · Last activity 2026-10-23
Responsiveness
How these are sampled
PRs merged (all time)
100%
Median days to close, 50 most recently updated closed issues
14
Median days to close, 50 most recently updated closed PRs
0

Releases over time

2026-07-07 · 02026-09-30 · 2
PracticesBeta

11 development-tooling and community-health practices detected across 5 families in the upstream repository

Checks run against github.com/pedrobtz/quak on 2026-10-21.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Docs source (3)
pkgdown

GitHub Pages site last deployed 2026-09-29 · The repository has a site deploy workflow

pkgdown site last built 2026-09-29

Coverage (1)
Coverage reporting
CRAN release process (1)
cran-comments.md
Show all practicesHide 1 practice
Lint, format, editor (4)
lintrAirVS CodeRStudio project
How this is detected·Detection ruleset v4 (2026-10-20)
AI coding toolsBeta

This repository shows signs of AI coding tools.

  • Claude Codefirst seen on or before 2026-06-04
    Seen in the repository: CLAUDE.md
    Named in .Rbuildignore: .claude, CLAUDE.md
    Pull request it wrote: opened by a project member
    Commits: 1 by its own account · at least 10 crediting it in the message
Models named in its commits
  • Claude Opus 5.57 commits · Sep 2026
  • Claude Fable 5.12 commits · Sep 2026
  • Claude Opus 51 commit · Sep 2026
Counts are commits, not lines of code. Commits by a tool's accounts count once across all of its accounts. Commits crediting it are the largest count among its credit lines, a minimum.How this is detected·Detection ruleset v4 (updated 2026-09-27)

Dependencies

Declared dependencies
14 external dependencies (excludes base and recommended)

Installing quak adds 7 packages (6 with compiled code, 12 MB of source tarballs). Heaviest: duckdb 7.9 MB, fs 1.4 MB, rlang 766 KB.

Depends (1)
R >= 4.1.0
Imports (9)
LinkingTo (0)
none
Enhances (0)
none
Reverse dependencies
0direct
0indirect

Nothing depends on this yet.

People & History

People (1)
Author, Maintainer since 0.1.0 (2026), Copyright holder
Releases (2)

Pick two releases to compare their code metrics.

  • 0.1.1Latest
    record
    2026-09-28 · current release · diff ↗ ·
    added 2 exports
    collect_arrow, stream_arrow
  • 0.1.0
    record
    2026-06-09
  • R
    R 4.6.0 released · 2026-04-24

Package metadata

First published
2026-06-09
Total releases
2 / 1 yrs
License
MIT + file LICENSE OSI
Minimum R
≥ 4.1.0
Download size
65 KB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("quak")
Baltazar, P. (2026). quak: Query 'Azure Data Lake Storage Gen2' with 'DuckDB' (Version 0.1.1) [Computer software]. https://doi.org/10.32614/CRAN.package.quak

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for quak version 0.1.1 [Data set]. HJJB, LLC. Data release v2026-10-24. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-24, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy