Skip to content

Installation

Pick the surface that matches how you want to work. All of them talk to the same engine and the same DSL: nothing is feature-gated by which one you choose.

Section titled “CLI binary (recommended for exploring the DSL)”

Prebuilt binary. No Rust toolchain, no system HDF5/OpenSSL required, a single self-contained executable for macOS (Apple Silicon), Linux (x86_64), and Windows (x86_64):

Grab the latest archive for your platform from the Releases page, extract it, and put linal on your PATH.

Build from source, if you’d rather:

Terminal window
git clone https://github.com/gorigami/linaldb.git
cd linaldb && cargo build --release
# binary at ./target/release/linal

Verify it’s working:

Terminal window
linal --version
linal repl

Two shapes, depending on whether you want a server in the loop.

Embedded (native extension, no server). Links the engine directly into your process, used like SQLite:

Terminal window
pip install linaldb
import linaldb
db = linaldb.Db() # persists to ./data, exactly like the CLI
df = db.query("SELECT id, embedding FROM docs WHERE score > 0.8")

HTTP (thin client). Talks to a separately running linal serve instance, no compiled extension:

Terminal window
pip install linaldb-server
import linaldb_server as linaldb
client = linaldb.connect("http://localhost:8080")
df = client.query("SELECT id, embedding FROM docs WHERE score > 0.8")

The same two shapes as Python, as R packages (not yet on CRAN: install directly from the source checkout):

# Embedded
# R CMD INSTALL clients/r-embedded
library(linaldb)
db <- linal_embedded_db()
# HTTP client
# devtools::install(file.path("clients", "r"))
library(linaldb.server)
conn <- linal_connect("http://localhost:8080")

To run linaldb as a shared, multi-tenant service:

Terminal window
linal serve --port 8080

This exposes /execute (ad-hoc DSL), /delivery (read-only Parquet dataset export), /jobs and /schedule (background/recurring execution), and a Swagger UI at /swagger-ui. See Persistence & Server for the full endpoint reference.

Continue to the Quickstart for a real, runnable first session.