Skip to content

ParqDB documentation

Build and query open vector indexes without moving your data into a proprietary format.

Run embedded

Install ParqDB, register an existing Parquet table, and build an IVF index inside your Python process.

Start the embedded guide →

Publish for the browser

Publish an immutable IVF-LVQ index to object storage and query it with HTTP Range and WebAssembly.

Open the publication guide →

Understand the system

Learn how ParqDB separates source tables, open indexes, catalog publication, storage, and execution.

Read the core concepts →

Inspect the format

Use the runtime-independent metadata and Parquet schemas to build interoperable tools and engines.

View the specification ↗

Runtime Storage Capability Status
Embedded DataFusion Parquet Build and query IVF, IVF-LVQ4, and IVF-LVQ8 Supported
Browser/WASM Public HTTPS object storage Query immutable IVF-LVQ indexes over HTTP Range Experimental
Embedded DataFusion Iceberg Query exact snapshots through the native provider Experimental
Client/server Authorized Parquet sources Build and query through the HTTP API Experimental

The embedded DataFusion runtime is the first supported product surface. Review current limitations before planning a production deployment.

If you need Start here What runs the query
A local Python application or notebook Embedded ParqDB DataFusion in your Python process
A public, serverless search experience Publish for the browser WebAssembly in each visitor’s browser
A shared API for trusted clients Run a server The ParqDB process behind HTTP

All three paths use the same immutable Parquet index format. The browser path has a deliberately smaller feature surface; the limitations page defines the current boundary.

Terminal window
python -m pip install parqdb
import parqdb
session = parqdb.connect("./parqdb-data")
session.register_parquet("documents", parqdb.datasets.uri("documents"))
documents = session.table("documents")

Continue with Getting started to build and query your first index.

  1. Confirm the source schema and stable key fields in Getting started.
  2. Tune the IVF index against representative queries and measure recall, latency, and I/O together.
  3. Set explicit resource and cache limits.
  4. Review current limitations and the troubleshooting guide.