Skip to content

Overview

SluiceDB is a full-featured, opinionated ecosystem for working with data inside Bun. It is designed to be highly performant, bringing best practices from other languages such as Python, R and Julia to the Bun ecosystem.

It is also standards compliant, for exmaple leveraging the Arrow standard for database interchange, the Arrow standard for in memory, zero-copy, dataframes, has built in support for Parquet files for data storage, and uses Zod and TypeScript for schema validation.

It includes a modern SQL query builder, based on Kysely, but with extensions to support a single source of truth for schemas at both design time and run time, with out of the box support for tailored migrations.

Packages

@sluice/adbc

The Arrow Database Connector (ADBC) Driver for database access. Out of the box support for DuckDB, SQLite, Postgres, Snowflake, and BigQuery, and the Sluice ADBC DuckDB driver provides multi-database support including DuckDB, SQLite, MySQL, PostgresSQL, Iceberg, CSV, NDJSON, Parquet and Microsoft Excel.

API compatible with bun:sqlite for easy migration.

@sluice/duckdb

A fast and lightweight DuckDB native driver. We recommend using the ADBC driver in nearly all instances but if you want to verify that the Arrow data format is not adding any overhead, you can use this driver.

API compatible with @sluice/adbc and bun:sqlite for easy migration.

@sluice/nanoarrow-js

A zero-copy, in-memory dataframe library, based on Apache Arrow, with a modern API, high performance FFI bindings and direct JavaScript/TypeScript support using TypedArrays and DataViews.

@sluice/kysely

A modern SQL query builder, based on Kysely, with extensions to support import and export from a wide variety of database and file storage formats.

@sluice/schema-kit

A modern schema definition and validation library, based on Zod, with built-in ERD and DDL generation, and support for TypeScript.