Embedded local vector database (SQLite for vectors)
Project description
ELIPS (Python Bindings)
Embedded Local Index & Persistence System (ELIPS) Python package.
ELIPS is an in-process vector and document retrieval engine built in C++23 with native Python bindings. It keeps the embedded deployment model of SQLite, but adds ANN indexes, typed metadata filters, first-class document lineage, hybrid retrieval, segmented persistence, and optional GPU-backed indexes.
Installation
From PyPI
pip install elips
From Source
pip install .
Note: Building from source requires a C++23 compatible compiler (GCC 13+ or Clang 17+), CMake >= 3.24, and Ninja.
Quick Start
import elips
# Connect to database (either path or ":memory:")
engine = elips.connect(":memory:", dimension=128)
# Access or create a documents arena
arena = engine.arena("documents")
# Ingest documents with text and optional metadata
arena.ingest(
texts=["alpha design note", "beta incident runbook"],
meta=[{"kind": "design"}, {"kind": "ops"}],
)
# Run semantic search
for hit in arena.probe_text("alpha", top=2):
print(hit.key, hit.distance, hit.text, hit.meta)
Features
- Vector Search: Optimized HNSW (
graph) andexactindex backends. - Embedded Deployment: Simple SQLite-like single-writer/multi-reader lock model.
- Local Embedding: Built-in local text embedding using local models.
- Metadata Filters: Rich metadata equality filters via
MetadataIndexandFilter. - Hybrid Retrieval: Combine dense semantic search and document retrieval out of the box.
- Segmented Persistence: Durable writes with WAL crash recovery and snapshot checkpoints.
- GPU Acceleration: Optional Metal backend on Apple Silicon and CUDA/Vulkan backends on Linux.
License
ELIPS Python bindings are released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file elips-1.0.0.tar.gz.
File metadata
- Download URL: elips-1.0.0.tar.gz
- Upload date:
- Size: 150.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
712aec25c96a84b8b40f20ad33dde1abf675924ad87a9c81b507130dc8199b75
|
|
| MD5 |
3e41efd9e21636d9a0e1818ea2d6f514
|
|
| BLAKE2b-256 |
42fdd6c69e6def7baf4fa085f71a55bd293634c765b2f55b1aa2964f72e3306e
|
File details
Details for the file elips-1.0.0-cp313-cp313-macosx_26_0_arm64.whl.
File metadata
- Download URL: elips-1.0.0-cp313-cp313-macosx_26_0_arm64.whl
- Upload date:
- Size: 440.2 kB
- Tags: CPython 3.13, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eeb0aa418468f353453f8bfe1d9ce183daecfc1935f33540f84d26e4b5ad3f48
|
|
| MD5 |
9432c20bbbed98c9404682b746c73bcf
|
|
| BLAKE2b-256 |
8fde3372eef8a63301bbc7e9efc814ce8f24d865aa9b4a47244c7b443948422e
|