Skip to content

Installation

QQL targets Qdrant 1.19.0 or newer. Pin the server version when running it in Docker:

Qdrant
docker run --rm -p 6333:6333 -p 6334:6334 qdrant/qdrant:v1.19.0

Text embedding (any USING step) needs an OpenAI-compatible endpoint. With Ollama, start the server and pull the model before configuring QQL:

Ollama
ollama serve ollama pull all-minilm:l6-v2

Then point QQL at both services (see Quickstart). Literal-vector queries skip the embedder entirely.

Linux and macOS
# Standard edition (lean REST/gRPC/record/convert/migrate)
curl -fsSL https://qql.veristamp.in/install.sh | bash
# Full edition (with local ONNX FastEmbed + embedded qdrant-edge)
curl -fsSL https://qql.veristamp.in/install.sh | bash -s -- --full
Windows PowerShell
# Standard edition
irm https://qql.veristamp.in/install.ps1 | iex
# Full edition
& ([scriptblock]::Create((irm https://qql.veristamp.in/install.ps1))) -Full

The installed binary is qql. Run qql setup to configure your Qdrant connection and embedding defaults, then run qql doctor to verify connectivity.

Configure and verify the CLI
qql version qql setup qql doctor

Rust

Cargo
cargo add qql qql-core

Python

pip
pip install pyqql

Use pyqql-edge only when the in-process edge backend is required.

Node.js

npm
npm install @veristamp/nqql

Use @veristamp/nqql-edge for the heavier edge-enabled build.

WebAssembly

npm
npm install qql-wasm

Initialize the module before calling browser exports.

Workspace build
git clone https://github.com/srimon12/qql-rs.git cd qql-rs cargo build --release --workspace

The default binary (qql) — including the prebuilt archives fetched by the installer above — is lightweight (~15MB), containing REST, gRPC, the built-in qql record proxy, qql convert, qql migrate, qql dump, and REPL. edge (ONNX/FastEmbed models and in-process database) is packaged in the qql-full-* archive or installed with --features full:

Feature installs (no clone needed)
# Standard edition (REST + gRPC + record + convert + migrate)
cargo install qql-cli --locked
# Full edition (fastembed + edge)
cargo install qql-cli --locked --features full

Run qql version to confirm: it reports the edition ("standard", "full", or "custom") and its features array. Python/Node stay split the same way — pyqql / @veristamp/nqql are lean, pyqql-edge / @veristamp/nqql-edge (plus uv pip install pyqql-edge / uv add pyqql-edge) carry the edge runtime.

The in-process edge backend is included in the Full edition (--features full), or can be compiled as a custom standalone feature (--features edge):

Edge-enabled CLI build
cargo install qql-cli --locked --features full
# ... or custom edge-only without FastEmbed:
# cargo install qql-cli --locked --features edge

See the edge backend overview for capabilities and limits.

The runtime defaults to REST and gRPC. Edge and embedded model support are opt-in because they add substantial binary and model weight.