ducky
Native DuckDB driver for Gleam.
Provides a type-safe, ergonomic interface to DuckDB for both Erlang and JavaScript runtimes.
Quick Start
import ducky
import gleam/io
import gleam/string
pub fn main() {
let assert Ok(conn) = ducky.connect(":memory:")
let assert Ok(result) = ducky.query(conn, "SELECT 42 as answer")
io.println(string.inspect(result))
}
Types
pub type Connection =
connection.Connection
pub type DataFrame =
types.DataFrame
pub type Error =
error.Error
pub type Value =
types.Value
Values
pub const close: fn(connection.Connection) -> Result(
Nil,
error.Error,
)
pub const connect: fn(String) -> Result(
connection.Connection,
error.Error,
)
pub const query: fn(connection.Connection, String) -> Result(
types.DataFrame,
error.Error,
)
pub const query_params: fn(
connection.Connection,
String,
List(types.Value),
) -> Result(types.DataFrame, error.Error)
pub const transaction: fn(
connection.Connection,
fn(connection.Connection) -> Result(b, error.Error),
) -> Result(b, error.Error)
pub const with_connection: fn(
String,
fn(connection.Connection) -> Result(a, error.Error),
) -> Result(a, error.Error)