Skip to content

Installation

iPDb can be installed as a prebuilt CLI binary, as a Python package, or built from source. Pick whichever fits your workflow — all three expose the same SQL surface.

Prebuilt CLI binary (Linux)

Prebuilt Linux binaries for amd64 and arm64 are published on Releases. These builds have LLM API support enabled (ENABLE_PREDICT=1 ENABLE_LLM_API=1) but do not include the native ONNX or llama.cpp backends — use them if you only need remote LLM inference.

curl -LO https://github.com/purduedb/iPDb/releases/download/v1.1.0/ipdb-cli-linux-amd64.zip
unzip ipdb-cli-linux-amd64.zip
chmod +x ipdb
./ipdb

Swap amd64 for arm64 if you're on an ARM64 host, and pick the latest release tag from the Releases page.

Python package

A duckdb-compatible Python package (ipdb) is published for each release, built with iPDb as the underlying engine. The API is identical to the DuckDB Python client, plus the semantic operators described in this documentation.

pip install ipdb-<latest_version>.tar.gz

Download the .tar.gz for the version you want from Releases; pip builds the wheel and installs it locally.

Building from source

Building from source gives you the most control — in particular, it's the only way to enable the native ONNX or llama.cpp backends. See Building iPDb for full instructions, including the optional ONNX/llama.cpp prerequisites and all make options.

Quick version, for LLM-only usage (no local model backends):

make debug GEN=ninja -j12 CORE_EXTENSIONS='httpfs' ENABLE_PREDICT=1 ENABLE_LLM_API=True DISABLE_SANITIZER=1

This produces a ipdb binary shell under build/debug/.

With Docker

The published Dockerfile currently builds ONNX (tabular/GNN) model support only. Build from source if you need LLM inference.

git clone https://github.com/purduedb/iPDb
cd iPDb
docker build -t ipdb .
docker run -it -v <path_to_data_dir>:/data --name=ipdb_container ipdb /bin/bash

Drop the -v mount if you just want to try iPDb without persisting a models/data directory. Restart a stopped container with docker start -ai ipdb_container, or run the shell directly inside the container:

./build/debug/ipdb <your_database>

Next steps

Continue to the Quickstart to run your first prediction query, or Configuration to set up API keys and backend-specific environment variables.