Search Shortcut cmd + k | ctrl + k
duckdbi

Browser-based BI dashboard extension for DuckDB. Run SQL queries and build interactive dashboards with drag-and-drop charts, all from the DuckDB CLI.

Maintainer(s): nkwork9999

Installing and Loading

INSTALL duckdbi FROM community;
LOAD duckdbi;

Example

-- Load the extension
LOAD duckdbi;

-- Start the BI server on port 8080
SELECT duckdbi_start('localhost', 8080);

-- Open http://localhost:8080 in your browser
-- Write SQL, create charts, build dashboards

-- Stop the server when done
SELECT duckdbi_stop();

About duckdbi

DuckDBI turns DuckDB into a local BI server. The extension embeds a full single-page application that serves an interactive dashboard builder directly from the DuckDB process.

Core Features:

  • SQL query editor with JSON result rendering
  • Interactive charts powered by Plotly.js (Bar, Line, Scatter, Area, 3D Scatter)
  • Drag-and-drop dashboard layout via Gridstack.js
  • PDF export with jsPDF and html2canvas
  • Markdown text panels via Marked.js

Functions:

  • duckdbi_start(host, port) - Start the HTTP server and open the dashboard UI
  • duckdbi_stop() - Stop the running server

Architecture: The extension bundles an HTTP server (cpp-httplib) and a complete SPA as a compiled-in string literal. The /api/query endpoint executes SQL against the attached DuckDB database and returns JSON results to the browser frontend. No external server or setup required.

Added Functions

function_name function_type description comment examples
duckdbi_start scalar NULL NULL  
duckdbi_stop scalar NULL NULL  

Overloaded Functions

| function_name | function_type | description | comment | examples | |—————|—————|————-|———|———-|

Added Types

| type_name | type_size | logical_type | type_category | internal | |———–|———-:|————–|—————|———-|

Added Settings

| name | description | input_type | scope | aliases | |——|————-|————|——-|———|