Skip to main content

VecLite: A production-grade, zero-config, single-file embedded AI memory engine

Project description

VecLite

CI Crates.io PyPI Go Reference License: MIT

VecLite is an embedded vector database. It runs in-process and stores data in a single file.

It provides exact and approximate nearest neighbor search, metadata filtering, and a vector-native SQL dialect. It is designed for applications that require vector search without operating a separate database server.

Features

  • Embedded architecture (no server required)
  • Single-file storage
  • SIMD-accelerated vector metrics (Cosine, L2, Dot Product, Manhattan)
  • HNSW indexing
  • SQL query layer
  • Hybrid search (vector similarity combined with metadata filters)
  • Cross-language support via C ABI

Language Bindings

VecLite is written in Rust. It provides native bindings for multiple languages.

Rust

The core database.

  • Status: Stable
  • Install: cargo add veclite-db

Python

Native Python module using PyO3. Releases the Global Interpreter Lock (GIL) during search operations.

  • Status: Stable
  • Install: pip install veclite-db

Go

CGO wrapper over the C ABI.

  • Status: Stable
  • Install: go get github.com/rithulkamesh/veclite/bindings/go@v1.0.9

C / C++

Standard C header and C++ RAII wrapper.

  • Status: Stable
  • Install: Copy bindings/c/veclite.h or bindings/cpp/veclite.hpp.

Zig

Zig wrapper over the C ABI.

  • Status: Experimental
  • Install: Import bindings/zig/veclite.zig.

Example

use veclite_db::VecLite;

let mut db = VecLite::open("memory.vec").unwrap();
db.insert("doc_1", vec![0.1, 0.2, 0.3], None).unwrap();

let results = db.search(vec![0.1, 0.2, 0.3]).top_k(5).execute().unwrap();

SQL Example

VecLite supports a custom SQL dialect for vector operations.

CREATE TABLE memory;
INSERT INTO memory VALUES ('doc_1', '[0.1, 0.2, 0.3]', '{"tag":"note"}');
SELECT * FROM memory WHERE metadata.tag = 'note' ORDER BY vector <-> '[0.1, 0.2, 0.3]' LIMIT 5;

Installation

Use the package manager for your target language. For the CLI and HTTP server:

cargo install veclite-cli

Status

VecLite is under active development.

Roadmap

  • SQL execution engine completion
  • Compaction and retention policies
  • Node.js bindings

License

MIT

Star History

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

veclite_db-1.1.0-cp38-abi3-win_amd64.whl (612.8 kB view details)

Uploaded CPython 3.8+Windows x86-64

veclite_db-1.1.0-cp38-abi3-manylinux_2_34_x86_64.whl (892.4 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.34+ x86-64

veclite_db-1.1.0-cp38-abi3-macosx_11_0_arm64.whl (729.5 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

Details for the file veclite_db-1.1.0-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: veclite_db-1.1.0-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 612.8 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for veclite_db-1.1.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 941884454e4868fee19d87b3580c4b7e541ea516848c35425d15cb6d1d837a90
MD5 147e1da803621518ff615a2592efe632
BLAKE2b-256 88b00382475d763838db6c9dd8a185df38eb90869e2b435fbe4bcc6c7c188fcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for veclite_db-1.1.0-cp38-abi3-win_amd64.whl:

Publisher: publish-pypi.yml on rithulkamesh/veclite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file veclite_db-1.1.0-cp38-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for veclite_db-1.1.0-cp38-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 21947c3bd8a545091903ff134cfccf168e09501a2a7dc157b75b4777b51dd307
MD5 51a19048fa2c3993f482f329b46477cc
BLAKE2b-256 dd3c613950df9e6ba5f12cd2b8fcf9d3bdd3149ea12b74361e9ec4d168797c90

See more details on using hashes here.

Provenance

The following attestation bundles were made for veclite_db-1.1.0-cp38-abi3-manylinux_2_34_x86_64.whl:

Publisher: publish-pypi.yml on rithulkamesh/veclite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file veclite_db-1.1.0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for veclite_db-1.1.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3470c8d8b0d8f318cf733fd5c8474d3021b5efab09d8ec27f32f5decd9a351b4
MD5 50435441687d9c140471961b8f7cfdbe
BLAKE2b-256 d1b95d6aecfbb52002277f0b61009ae103c7fce04cfaf6b2138ffe532542573b

See more details on using hashes here.

Provenance

The following attestation bundles were made for veclite_db-1.1.0-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on rithulkamesh/veclite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page