elips/docs
Start · 5 minutes

Getting started

ELIPS runs inside your process. No daemon, no network hop, no sidecar — a database is a directory on disk and an open handle in memory. This page walks the shortest path from cmake to a first text-first query.

Install

Build the core and the Python module from source. The native binary is required even when you only use Python — the bindings are a thin layer over the C++23 runtime.

terminal
cmake -S . -B build -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DELIPS_BUILD_PYTHON=ON
cmake --build build -j
export PYTHONPATH=$PWD/bindings/python

See Installation for the full toolchain matrix and platform notes.

Your first database

An ELIPS database is identified by a path. Use elips.Client for an ephemeral in-memory database, or elips.PersistentClient(path) for a persistent one. dimension is the embedding width.

python
import elips

client = elips.Client(dimension=128)
docs = client.get_or_create_collection("documents")

New databases attach the built-in local text embedder automatically. Disable that with use_default_text_embedder=False when you bring your own.

Ingest documents

Call add() with Chroma-style columns (documents, metadatas, ids), or pass RecordInput objects. Both accept text plus typed metadata.

python
docs.add(
    documents=["alpha design note", "beta incident runbook"],
    metadatas=[{"kind": "design"}, {"kind": "ops"}],
)

Query

query(query_texts=...) runs a text-first search; passing both query_embeddings and query_texts fuses vector and text; query(query_embeddings=...) takes a raw vector. Each returns typed Hit rows with distance, metadata, and the original document.

python
for hit in docs.query(query_texts="alpha", n_results=2):
    print(hit.key, hit.distance, hit.text, hit.meta)

Where to go next

  • Configuration — dimension, metric, durability, embedders.
  • Core concepts — the mental model behind collections, records, and lineage.
  • Architecture — how the planner, indexes, and persistence layer compose.
  • EQL — the declarative query language.