Installation
duckfn_palette needs DuckDB 1.4 or newer. The release binaries are built against DuckDB 2.0.0 and
also load into 1.4.x and 1.5.x (the C API is binary compatible across these versions), so there is
no separate 1.5 build: on an older DuckDB, install the same 2.0 release asset. It is an ordinary loadable extension, so INSTALL and
LOAD are all it takes; there is no separate download, library or setup step.
From the community repository
The simplest route, and the only one that needs no flags:
INSTALL duckfn_palette FROM community;
LOAD duckfn_palette;
DuckDB downloads a build that is signed and matched to your DuckDB version and platform. INSTALL is a
one-time step, but LOAD is needed again in each new session.
INSTALL … FROM community works once the extension has been registered in DuckDB's community repository.
That registration is a maintainer step described in
Community extensions; until it is done, load a release file or a
local build instead.
From a GitHub release
Every version is published as a GitHub Release carrying one .duckdb_extension per platform, named
duckfn_palette-<platform>.duckdb_extension (windows_amd64, linux_amd64, osx_arm64, and so on), plus a
WebAssembly build for the browser. Download the one matching your platform and rename it to
duckfn_palette.duckdb_extension before loading it — LOAD takes an extension name or a local path (it fetches
no URLs; that is what INSTALL '<url>' is for), and DuckDB takes the entry-point symbol from the file name, so
the release name fails with did not contain function "duckfn_palette-windows_amd64_init_c_api":
curl -LO https://github.com/<owner>/<repo>/releases/latest/download/duckfn_palette-windows_amd64.duckdb_extension
mv duckfn_palette-windows_amd64.duckdb_extension duckfn_palette.duckdb_extension
duckdb -unsigned -c "LOAD './duckfn_palette.duckdb_extension';"
A release file is not signed by DuckDB's distribution key, hence -unsigned.
From a local build
If you built the extension from source yourself, point LOAD at the artifact — and, again, start DuckDB
with -unsigned:
LOAD './build/debug/duckfn_palette.duckdb_extension';
Building it is the subject of the Development guide.
Checking that it loaded
duckdb_extensions() lists what is available, and duckdb_functions() what is callable:
SELECT extension_name, installed, loaded
FROM duckdb_extensions()
WHERE extension_name = 'duckfn_palette';
SELECT function_name, function_type, return_type
FROM duckdb_functions()
WHERE function_name LIKE 'plt%';
160 function names (169 signatures — several names are overloaded); if the list is empty, the extension is not loaded in the session you are querying.