beam-duckdb: DuckDB backend for Beam

[ database, library, mit ] [ Propose Tags ] [ Report a vulnerability ]

Beam driver for DuckDB, an analytics-focused open-source in-process database.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1.0, 0.2.0.0, 0.3.0.0, 0.3.1.0
Change log CHANGELOG.md
Dependencies aeson (>=1.0 && <2.3), base (>=4.11 && <5), beam-core (>=0.11.1 && <0.12), beam-migrate (>=0.6 && <0.7), bytestring (>=0.10 && <0.13), dlist (>=0.8 && <1.1), duckdb-simple (>=0.1.2 && <0.1.5 || >=0.1.5.1 && <0.1.6), free (>=4.12 && <5.3), hashable (>=1.1 && <1.6), scientific (>=0.3 && <0.4), text (>=1.0 && <2.2), time (>=1.6 && <1.17), transformers (>=0.3 && <0.7), uuid-types (>=1.0 && <1.1) [details]
License MIT
Copyright (c) Laurent P. René de Cotret
Author Laurent P. René de Cotret
Maintainer laurent.decotret@outlook.com
Uploaded by LaurentRDC at 2026-05-13T20:47:46Z
Category Database
Bug tracker https://github.com/haskell-beam/beam/issues
Source repo head: git clone https://github.com/haskell-beam/beam.git(beam-duckdb)
Distributions
Downloads 61 total (19 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for beam-duckdb-0.3.1.0

[back to package description]

beam-duckdb: Beam backend for the DuckDB analytics database

beam-duckdb is a beam backend for the DuckDB analytics database.

beam-duckdb extends the set of capabilities provided by beam-core in a few key ways. Most importantly, sources of data other than database tables can be loaded by DuckDB and used for queries like a regular table. Currently, beam-duckdb supports loading Parquet files, Apache Iceberg tables, and CSV files.

beam-duckdb is the most recent backend for beam; do not hesitate to raise an issue if you'd like us to add support for something that isn't currently covered!

Installation

The underlying duckdb-ffi needs to link to libduckdb. By default the installation assumes:

  • The duckdb files are in /usr/lib/duckdb
  • You're using duckdb 1.4.*

For Linux you can install a blessed version of duckdb in the correct path by cloning the duckdb-haskell repo and running make install in the duckdb-ffi cbits folder.

Example

From the project root directory, execute cabal run ./examples/ExamScores.hs.