ADBC Driver for DuckDB Quack

Driver Version 0.1.0-alpha.3 Release Date 2026-07-27 Tested With DuckDB Quack 1.5

Warning

This is documentation for a prerelease version.

This driver provides ADBC access to a DuckDB server exposed through the Quack remote protocol.

Note

This project is not associated with DuckDB Labs.

Installation & Quickstart

The driver can be installed with dbc :

dbc install --pre quack

Connecting

from adbc_driver_manager import dbapi

dbapi.connect(
    driver="quack",
    db_kwargs={"uri": "quack://localhost:9494/?token=quack-secret"},
)

Connection String Format

Quack URI syntax:

quack://HOST[:PORT]/?token=TOKEN

Components:

  • Scheme: quack:// (required)

  • HOST: Quack server host (required)

  • PORT: Quack server port (optional)

  • token: shared Quack authentication token (optional)

Feature & Type Support

Feature DuckDB Quack
Bulk Ingestion Create ✅
Append ✅
Create/Append ✅
Replace ✅
Temporary Table ❌
Target Catalog ❌
Target Schema ❌
Non-nullable fields are marked NOT NULL ❌
Catalog (GetObjects) depth=catalogs ✅
depth=db_schemas ✅
depth=tables ✅
depth=columns (all) ✅
Get Parameter Schema ❌
Get Table Schema ❌
Prepared Statements ✅
Transactions ✅

Types

Database to Arrow

Database Type DuckDB Quack

BIGINT

int64

BOOLEAN

bool

DATE

date32[day]

DOUBLE PRECISION

double

INT

int32

NUMERIC

decimal128

REAL

float

SMALLINT

int16

TIME

time64[us]

TIMESTAMP

timestamp[us]

TIMESTAMP WITH TIME ZONE

timestamp[us] (with time zone)

VARBINARY

binary

VARCHAR

string

Arrow to Database

Arrow Type DuckDB Quack Type
Bind Ingest

binary

❌

VARBINARY

binary_view

❌

VARBINARY

bool

❌

BOOLEAN

date32[day]

❌

DATE

decimal128

❌

NUMERIC ⚠️ [1]

double

❌

DOUBLE PRECISION

fixed_size_binary

❌

VARBINARY

float

❌

REAL

halffloat

❌

(NA/not tested)

int16

❌

SMALLINT

int32

❌

INT

int64

❌

BIGINT

large_binary

❌

VARBINARY

large_string

❌

VARCHAR

string

❌

VARCHAR

string_view

❌

VARCHAR

time32[ms]

❌

TIME [2]

time32[s]

❌

TIME [2]

time64[ns]

❌

TIME

time64[us]

❌

TIME

timestamp[ms]

❌

TIMESTAMP(3)

timestamp[ms] (with time zone)

❌

TIMESTAMP(3) WITH TIME ZONE [3]

timestamp[ns]

❌

TIMESTAMP(9)

timestamp[ns] (with time zone)

❌

TIMESTAMP(9) WITH TIME ZONE [3]

timestamp[s]

❌

TIMESTAMP(0)

timestamp[s] (with time zone)

❌

TIMESTAMP(0) WITH TIME ZONE [3]

timestamp[us]

❌

TIMESTAMP(6)

timestamp[us] (with time zone)

❌

TIMESTAMP(6) WITH TIME ZONE

Compatibility

This driver was tested on:

  • DuckDB Quack 1.5.5

Previous Versions

To see documentation for previous versions of this driver, see the following: