Skip to content
potluckdb

Analytics engine

Analytical reads use DuckDB 1.5.4. Native applications load the engine at run time. No core package contains it. Only applications that need it carry it. Concepts explains analytical reads.

This page uses the release matrix’s engine version. Archive digests come from DuckDB. For libraries it does not publish, digests come from the bytes potluckdb built.

Three languages and both WebAssembly targets receive packaged engines. You do not download or name the library manually.

Language or targetInstallation
Pythonpip install potluckdb-analytics
Nodenpm install @potluckdb/potluckdb-analytics
Rustpotluckdb = { version = "0.1.0", features = ["analytics"] }
Browsernpm install @potluckdb/potluckdb-browser-analytics
Node (WebAssembly)npm install @potluckdb/potluckdb-node-wasm-analytics

Every other language loads the library from DuckDB’s release archive for the target.

  1. Download the archive for your target from the table below.
  2. Verify the archive against the digest below.
  3. Unpack the archive.
  4. Name its library file in the open option.
TargetLibraryArchiveSHA-256 of the archive
macos-arm64libduckdb.dyliblibduckdb-osx-universal.zip3f3c52970ad1407ec5037062e1a5e575b24bd5b993c889f89fe5876eff47782c
macos-x86_64libduckdb.dyliblibduckdb-osx-universal.zip3f3c52970ad1407ec5037062e1a5e575b24bd5b993c889f89fe5876eff47782c
linux-x86_64-gnulibduckdb.solibduckdb-linux-amd64.zip838d98a85e697bab9935010c88a8c67d3312ccedcab4cb4a0ba01da65113bb70
linux-arm64-gnulibduckdb.solibduckdb-linux-arm64.zip7e154fd14d5b7afd7c9f36071000bf4badd3fa57a125cf7dc596f2c5ad82c1b2
linux-x86_64-musllibduckdb.solibduckdb-linux-amd64-musl.zip523fc57cc4da92c67165691d8caa4f686410606c192ba63d60909847a7e117f6
linux-arm64-musllibduckdb.solibduckdb-linux-arm64-musl.zipf822902ae2899e21c69a80cb38399698385c224e7ac0d53e9e18e3d5cc4fc053
windows-x86_64duckdb.dlllibduckdb-windows-amd64.zip74e73afd3b010c6f310e14a961fff679f876952bc196f82584b0e2e76d11a91f
windows-arm64duckdb.dlllibduckdb-windows-arm64.zip8056a9fc58a7c0ced9ebd5eb804e1bd2caf0e1ffb6711c8bd0c3ac0558a7da7f

DuckDB publishes no library for these platforms. potluckdb builds them from the same DuckDB 1.5.4 sources and publishes release downloads.

PlatformLibrary location
iOSEmbed it in the application bundle.
AndroidPlace it under jniLibs/<abi> in the module.

Name the library in the open option on either platform.

TargetLibrarySHA-256Bytes
apple-mobile-device-arm64libduckdb-ios-device-arm64.dylib0c5d0292b9bfced4db30c2fe146898dec55d7fe753cd319da9694ffb95bdb77834,760,944
apple-mobile-simulator-arm64libduckdb-ios-simulator-arm64.dylib56e47543f101a70b9aa7d2aa86a89f15a64ccd31df8ff4d96306fb3d97608b7e36,948,400
apple-mobile-simulator-x86_64libduckdb-ios-simulator-x86_64.dylib132c5fb1ffbfefec40430346560fb3419c3acf7b54bd164ca3bfa87cd51ef80137,756,320
android-arm64-v8alibduckdb-android-arm64-v8a.soffff92aaa98cdf08fe502ca72c47ed76edc36e6260794888ffc07a60f838f53346,344,216
android-x86_64libduckdb-android-x86_64.so657b170a8eec05f2b53093fa0ffab921f8500a62ea91ee080cf09a8e977f052747,630,256

Each language’s open options accept the library path. Alternatively, set POTLUCKDB_DUCKDB_LIBRARY for every database the process opens. An open option takes precedence. Each language’s reference gives the analytical-read spelling under Which engine answers a read.

Go · Install · Which engine answers a read

options := potluckdb.DefaultOpenOptions()
analyticalEngine := "/opt/potluckdb/lib/libduckdb.so"
options.AnalyticalEngine = &analyticalEngine

Swift · Install · Which engine answers a read

OpenOptions(analyticalEngine: "/opt/potluckdb/lib/libduckdb.dylib")

Dart · Install · Which engine answers a read

OpenOptions(analyticalEngine: '/opt/potluckdb/lib/libduckdb.so')

JVM · Install · Which engine answers a read

OpenOptions.builder().analyticalEngine("/opt/potluckdb/lib/libduckdb.so").build()

.NET · Install · Which engine answers a read

new OpenOptions(analyticalEngine: "/opt/potluckdb/lib/libduckdb.so")

C++ · Install · Which engine answers a read

options.analytical_engine = "/opt/potluckdb/lib/libduckdb.so";

Objective-C · Install · Which engine answers a read

options.analyticalEngine = @"/opt/potluckdb/lib/libduckdb.dylib";

Compare the digest of the downloaded file with the table before unpacking or embedding it:

Terminal window
shasum -a 256 libduckdb-osx-universal.zip