An open API service indexing awesome lists of open source software.

awesome-duckdb

🦆 A curated list of awesome DuckDB resources
https://github.com/davidgasquez/awesome-duckdb

Last synced: 1 day ago
JSON representation

  • Backends

    • Fun & Demos

      • Hydra ETL - Declarative YAML ETL engine that can run each transformation step on DuckDB or pandas.
      • DuckDB API - a TypeScript-based Docker image containing DuckDB, and a Hono framework REST API with JSON or streaming Arrow responses.
      • Mosaic DuckDB Server - A Python-based server that runs a local DuckDB instance and supports queries over Web Sockets or HTTP, returning data in either Apache Arrow or JSON format.
      • duckdb-server - A Rust-based server that runs a local DuckDB instance and supports queries over Web Sockets or HTTP/HTTPS, returning data in either Apache Arrow or JSON format.
  • Chat with this page

  • Client APIs

  • Client-Server Setups

    • Web Clients (WebAssembly)

      • MyDuck Server - A server wrapping DuckDB with MySQL and PostgreSQL wire protocol support.
      • pg_analytics - PostgreSQL extension embedding DuckDB-in-PostgreSQL for fast on-disk and remote object storage analytics from Postgres. Built as a Foreign Data Wrapper with full query pushdown to DuckDB. Integrates easily with ParadeDB.
      • pg_duckdb - DuckDB-powered PostgreSQL for high-performance apps & analytics.
      • pg_mooncake - A PostgreSQL extension that adds native column store tables with DuckDB.
      • GizmoSQL - Arrow Flight SQL Server - A C++ implementation of the [Arrow Flight SQL protocol](https://arrow.apache.org/docs/format/FlightSql.html) that runs in a client-server setup with DuckDB or SQLite as backends.
      • Hatch - A Go-based implementation of a DuckDB Arrow Flight SQL Server.
      • Termux DuckDB package - DuckDB CLI client for the Termux Android terminal emulator.
      • pg_lake - `pg_lake` integrates Iceberg and data lake files into Postgres. Uses DuckDB to execute queries.
      • Hatch - A Go-based implementation of a DuckDB Arrow Flight SQL Server.
      • AliSQL - A MySQL branch originated from Alibaba Group. Integrates DuckDB as a native storage engine.
      • rawquery - Managed analytical platform pairing DuckDB compute with Iceberg storage on S3. Postgres wire protocol, CLI, and Python API.
      • VillageSQL - Aggregate Parquet, CSV and JSON in object storage from SQL, with DuckDB embedded in MySQL.
      • Layerbase - Managed DuckDB hosting with a browser query console, REST API and CLI, alongside 17 other database engines under one account. Databases scale to zero when idle and wake on connect.
  • DuckDB Clients and UIs

    • Web Clients (WebAssembly)

      • SQL Workbench Embedded - A lightweight JavaScript library that turns SQL code blocks into interactive, browser-based database environments. Powered by DuckDB WASM.
      • PondPilot - Open-source, 100% client-side data exploration tool that enables users to analyze local and remote data using SQL. Zero-copy direct access to local datasets sets PondPilot apart from similar tools. It runs entirely in the browser—no servers, no cloud uploads, and no setup required.
      • Preswald - WASM packager for Python-based interactive data apps.
      • Medama - Self-hostable, privacy-focused website analytics.
      • TabulaStudio - Browser-only enterprise data analytics platform with Jupyter-style notebooks, AI-powered visualizations, and enterprise performance (10M+ rows/second). Direct access to files and live databases like (Neon and Supabase ) without servers, cloud uploads, or setup—your data never leaves your browser.
      • DuckDB Terminal - Online DuckDB shell powered by DuckDB WASM and Ghostty.
      • dbxlite - DuckDB workbench for native & browser.
      • Joinery - Privacy-first local data analytics with a modern SQL editor, multi-format support (CSV, Excel, JSON, Parquet), and parameterized saved queries. Available as browser app and Tauri desktop client.
      • DuckQuery - Open-source visual SQL workbench to query local files (CSV/Excel/Parquet/JSON) and remote databases (MySQL/PostgreSQL) in one cross-source JOIN, plus AI text-to-SQL. Browser demo runs on DuckDB-Wasm; the full version self-hosts via Docker.
      • csvtodashboard - Free SQL-on-CSV in the browser via DuckDB-Wasm — no signup, no upload, files stay on-device.
      • TabulaStudio - Browser-only enterprise data analytics platform with Jupyter-style notebooks, AI-powered visualizations, and enterprise performance (10M+ rows/second). Direct access to files and live databases like (Neon and Supabase ) without servers, cloud uploads, or setup—your data never leaves your browser.
      • Bedevere - Tabular data visualizer and DuckDB SQL editor on DuckDB-Wasm: open CSV/Parquet/JSON/Arrow locally, chart results with a grammar-of-graphics `VISUALIZE` syntax, and embed it anywhere via npm component or a one-line iframe.
      • ParquetKit - Browser-based Parquet viewer, SQL workbench and converter powered by DuckDB-Wasm. Fully client-side — files never leave your device.
      • QuackDB - Open-source in-browser DuckDB SQL playground and editor.
      • Duck-UI - Duck-UI is a web-based interface for interacting with DuckDB with a SQL editor, data import/export, data explorer, query history, theme toggle and keyboard shortcuts.
      • Telemetry SQL Playground - Browser-based, read-only SQL playground powered by DuckDB-Wasm, with synthetic structured-event datasets.
      • ExploreMyData - Browser-based data explorer on DuckDB-Wasm: open CSV, Excel, JSON, Parquet, Arrow, Avro, SQLite and DuckDB files up to 1GB, chain filter/join/pivot/aggregate steps that each emit DuckDB SQL, write SQL directly, chart, and export. Files never leave the device.
      • DBConvert Parquet Viewer - Browser-based Parquet viewer on DuckDB-Wasm. Reads the schema, row groups, compression codecs and column statistics, runs read-only SQL over the file and exports results as CSV. A [JSONL/NDJSON viewer](https://streams.dbconvert.com/jsonl-viewer) uses the same engine. Files are opened through a browser file handle and are not uploaded.
      • Parquetly - Browser-based Parquet viewer on DuckDB-Wasm. Shows the schema, row groups and column chunk statistics, runs SQL over the file, and exports to CSV or JSON. Files are read locally and are not uploaded.
      • ParquetKit - Browser-based Parquet viewer, SQL workbench and converter powered by DuckDB-Wasm. Fully client-side — files never leave your device.
      • Parquetly - Browser-based Parquet viewer on DuckDB-Wasm. Shows the schema, row groups and column chunk statistics, runs SQL over the file, and exports to CSV or JSON. Files are read locally and are not uploaded.
  • Extensions

    • [Community Extensions](https://duckdb.org/community_extensions/)

      • `bigquery` - Integrates DuckDB with Google BigQuery, allowing direct querying and management of BigQuery datasets.
      • `chsql` - ClickHouse SQL Dialect macros for DuckDB.
      • `duckherder` - Distributed execution for DuckDB queries.
      • `duckpgq` - Add supports for SQL/PGQ (Property Graph Queries) introduced in the SQL:2023 standard.
      • `evalexpr_rhai` - Evaluates the [Rhai](https://rhai.rs) scripting language as part of SQL.
      • `fuzzycomplete` - Performs fuzzy string matching for autocompletion.
      • `gsheets` - Read and write Google Sheets using SQL.
      • `h3` - Adds support for the H3 discrete global grid system.
      • `httpserver` - DuckDB HTTP API Server and Query Interface.
      • `lindel` - Linearization/Delinearization, Z-Order, Hilbert and Morton Curves.
      • `netquack` - Parsing, extracting, and analyzing domains, URIs, and paths with ease.
      • `prql` - Run PRQL commands directly within DuckDB.
      • `scrooge` - A set of aggregation functions and data scanners on financial data.
      • `shellfs` - Allows shell commands to be used for input and output.
      • `ulid` - ULID data type for DuckDB. A ULID is similar to a UUID except that it also contains a timestamp component.
      • `cache_httpfs` - Adds a read caching layer to duckdb filesystem to improve query performance and reduce egress cost.
      • `3fs` - Integrates DuckDB with DeepSeek 3FS distributed file system.
      • `acp` - Embeds AI agents such as Claude Code inside of DuckDB via Agent Client Protocol.
      • `yardstick` - Implements Measures in SQL paper as a DuckDB extension for centralized metric definitions / en embedded semantic layer.
      • `curl_httpfs` - Enhanced HTTP file system with connection pooling, HTTP/2 support, and asynchronous I/O operations.
      • `observefs` - I/O observability for DuckDB filesystems with latency statistics and external file cache access insights.
      • `infera` - A DuckDB extension for in-database inference.
      • `gaggle` - A DuckDB extension for working with Kaggle datasets.
      • `onager` - A DuckDB extension for graph data analytics.
      • `elasticsearch` - Query Elasticsearch indices directly using SQL.
      • `cache_prewarm` - A Preloads table data blocks into the buffer pool or OS page cache, inspired by PostgreSQL's pg_prewarm extension.
      • `dash` - Fully local data canvas and dashboarding app within DuckDB.
      • `hostfs` - Navigate and explore the local filesystem using SQL.
      • `pfc` - Read block-indexed PFC-compressed JSONL logs with timestamp filtering — 25% smaller than gzip with minimal S3 egress.
      • `pst` - Read Microsoft PST files in-place with rich schemas for emails, contacts, appointments, tasks, and more.
      • `stats_duck` - Statistics for tabular and clinical data: descriptive tables (`table_one`), linear models with robust/clustered standard errors, meta-analysis, bootstrap, and a grammar-of-graphics `VISUALIZE` clause that turns queries into Vega-Lite charts.
      • `gpudb` - GPU-accelerated plain DuckDB SQL on Apple Silicon Metal and NVIDIA CUDA: GROUP BY, joins, filters and top-k run on the GPU when measured faster, with the same answers.
      • `query_condition_cache` - Caches query conditions to improve performance for repeated-query workloads.
    • [Core Extensions](https://duckdb.org/docs/stable/core_extensions/overview)

      • `arrow` - A zero-copy data integration between Apache Arrow and DuckDB.
      • `avro` - For reading Avro files.
      • `ducklake` - For DuckLake support.
      • `aws` - For handling AWS credentials.
      • `json` - For reading and writing JSON data.
      • `parquet` - For reading and writing Parquet data.
    • Extension Statistics

    • Other Extensions

      • duckdb_engine - SQLAlchemy driver for DuckDB.
      • duckdb-extension-template-zig - A Zig & Nix toolkit template for building extensions against multiple versions of DuckDB using Zig, C or C++.
      • duckdb-jfr-extension - DuckDB extension to read JFR (Java Flight Recorder) files directly.
      • duckdb_protobuf - Plugin for querying encoded protobuf messages (both sequences and individual messages per file).
      • duckdb-pytables - DuckDB extension to allow running SQL on arbitrary data sources.
      • Lance - Integrate Lance (modern columnar data format for ML implemented in Rust) with DuckDB.
      • ODBC Scanner DuckDB Extension - DuckDB extension to read data directly from databases supporting the ODBC interface.
      • QDuckDB - Plugin for reading DuckDB spatial tables in QGIS software.
      • UC Catalog Extension - Proof-of-concept extension combining the `delta` extension with Unity Catalog.
      • FlockMTL - Integrate language model (LLM) capabilities directly into your queries and workflows.
      • ERPL Web - ERPL Web is a DuckDB extension that connects API-based ecosystems via standard interfaces like OData, GraphQL, and REST.
      • quack-zig - The infamous DuckDB quack extension rewritten in C and built with Zig. Proof that you can develop DuckDB extensions without drowning in boilerplate.
      • Lance - Integrate Lance (modern columnar data format for ML implemented in Rust) with DuckDB.
      • DuckDB.ExtensionKit - Build native DuckDB extensions in C#.
      • template-duckdb-extension-zig
      • go-duckfs - A Go library that mounts `io/fs` file systems as DuckDB virtual file systems, sandboxing all I/O through the Go runtime.
      • Lance - Integrate Lance (modern columnar data format for ML implemented in Rust) with DuckDB.
    • Web Clients

      • Official Extensions - Official DuckDB extensions.
      • `postgres_scanner` - Allows DuckDB to directly read data from a running Postgres instance.
      • `spatial` - Enables geospatial processing.
      • `sqlite_scanner` - To read and write to SQLite databases.
      • `mysql` - To read from and write to MySQL databases.
      • `postgres` - To read from and write to PostgreSQL databases.
      • `sqlite` - To read from and write to SQLite databases.
      • ERPL - DuckDB SAP connector using RFC, ODP, or BICS.
      • `vss` - Add support for vector similarity search.
      • Kùzu - Scan DuckDB tables in Kùzu, an embeddable property graph database management system.
      • Official Extensions - Official DuckDB extensions.
      • `fts` - To support full text search.
      • Lance - Integrate Lance (modern columnar data format for ML implemented in Rust) with DuckDB.
  • Installers

  • Integrations

    • Web Clients

      • data load tool - DuckDB destination - Extract and load data from APIs to DuckDB using dlt.
      • target-duckdb - Load data to DuckDB based on Singer spec.
      • Kestra DuckDB plugin - Run queries with DuckDB to schedule data transformations and process automations, and run event-driven anomaly detection pipelines.
      • nodbi - NoSQL Database Connector for R, providing a common API across Elasticsearch, CouchDB, MongoDB, SQLite, PostgreSQL, and DuckDB.
    • Web Clients (WebAssembly)

      • SQLFlow - Enables SQL-based stream processing, powered by DuckDB.
      • nf-sqldb - This plugin provides support for interacting with SQL databases in Nextflow scripts.
      • MindsDB - The platform for customizing AI from enterprise data. [MindsDB integrates with DuckDB](https://docs.mindsdb.com/integrations/data-integrations/duckdb), making data from DuckDB accessible to a diverse range of AI/ML models.
      • sqlite2duckdb - A CLI tool to convert SQLite database to DuckDB.
      • duckplyr - Drop-in replacement for dplyr in R that uses DuckDB for performance.
      • kwack - In-Memory Analytics for Kafka using DuckDB.
      • xlDuckDb - Excel addin to run DuckDB queries in Excel.
      • Hasura DuckDB Connector - Allows connecting to a DuckDB database or a MotherDuck-hosted DuckDB database through a GraphQL API.
      • Ontop - Allows to create Virtual Knowledge Graphs directly from DuckDB.
      • The Quack is Back: SAS/ACCESS Meets DuckDB - SAS/ACCESS engine support for DuckDB.
      • duckdb-teradata - Teradata connector.
      • Kotlin DataFrame - Supports reading from DuckDB databases using JDBC.
      • Sidemantic - A semantic layer with DuckDB integration.
      • duckdb-tableau-connector - DuckDB Tableau connector.
      • metabase_duckdb_driver - Metabase DuckDB Driver shipped as 3rd party plugin.
      • duckdb-power-query-connector - DuckDB Power Query Custom Connector.
      • dbt-duckdb - DuckDB dbt adapter.
      • Cloudflare R2 Data Catalog connector - Connect to Cloudflare R2 Data Catalog with DuckDB.
      • Enrich.sh - Lightweight event ingestion that stores JSON events as Parquet in R2, queryable directly from DuckDB.
      • DuckDB VBA - Excel/VBA integration for DuckDB using the native C API through a lightweight DLL bridge. Supports Range/Array ingestion, dictionary lookups, Parquet/CSV/JSON workflows, SQLite/PostgreSQL connectivity, and Access-to-DuckDB migration.
      • OrionBelt Semantic Layer - Open-source semantic sidecar that compiles YAML semantic models to optimized SQL across 8 engines including DuckDB. Ships with an `ob-duckdb` driver, REST + Arrow Flight SQL + Postgres wire surfaces, and a baked-in DuckDB quickstart on Colab.
      • Enrich.sh - Lightweight event ingestion that stores JSON events as Parquet in R2, queryable directly from DuckDB.
      • DuckDBExcelAddin - Native Excel XLL add-in for DuckDB with parameter binding, async execution and Excel range table functions.
      • Bruin - Data pipeline CLI that runs SQL and Python transformations with built-in quality checks, using DuckDB as one of its supported platforms.
      • ingestr - CLI tool to copy data between databases and SaaS sources, with DuckDB supported as both a source and a destination.
      • omniload - Polyglot data loader for ETL, warehousing and more, based on dlt. Supports 140+ source/destination adapters. Derived from ingestr v0 (MIT).
      • Scherlok - Data quality monitoring CLI that profiles tables and detects anomalies (volume, freshness, schema drift, NULL rates, distributions) without configuration; DuckDB is one of its connectors and backs its built-in demo.
  • Libraries Powered by DuckDB

    • Fun & Demos

      • Vane - A multimodal-native engine for AI workloads, built on a DuckDB fork with Python and SQL interfaces.
    • Web Clients

      • PyGWalker - A Pyhon library that turns your dataframe into an interactive UI for data visualization.
      • pg_lakehouse - PostgreSQL extension embedding DuckDB-in-Postgres for fast on-disk and remote object storage analytics from Postgres. Built as a Foreign Data Wrapper with full query pushdown to DuckDB.
      • Mosaic - An extensible framework for linking databases and interactive views.
      • Fugue - A unified interface for distributed computing. Fugue executes SQL, Python, Pandas, and Polars code on Spark, Dask and Ray without any rewrites.
      • Simple-data-analysis - Easy-to-use and high-performance JavaScript library for data analysis.
      • duckdb_fdw - DuckDB Foreign Data Wrapper for PostgreSQL.
      • @jetblack/duckdb-react - A context manager for React and DuckDB-Wasm.
      • QuackOSM - A Python library for downloading and transforming raw OpenStreetMap data into GeoParquet files.
      • flapi - An API Framework that heavily relies on the power of DuckDB and DuckDB extensions. Ready to build performant and cost-efficient APIs on top of BigQuery or Snowflake for AI Agents and Data Apps.
      • smallpond - A distributed data processing framework by DeepSeek built on DuckDB and 3FS.
      • BemiDB - PostgreSQL read replica optimized for analytics, using DuckDB.
      • jsqltranspiler - Rewrite BigQuery, Redshift, Snowflake and Databricks queries into DuckDB-compatible SQL.
      • SQLRooms - An open-source react framework for single-node data analytics powered by DuckDB.
      • Omilayers - A Python library for efficient data management that wraps the APIs of SQLite and DuckDB and offers a high-level interface analytical tasks that involve fast storage, processing and retrieval of data.
      • Unleasharp.DB.DuckDB - Lightweight DuckDB query-building client for C#.
      • Narwhals - Lightweight and extensible compatibility layer between dataframe libraries, supports DuckDB.