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.5

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.0.5-cp38-abi3-win_amd64.whl (290.2 kB view details)

Uploaded CPython 3.8+Windows x86-64

veclite_db-1.0.5-cp38-abi3-manylinux_2_34_x86_64.whl (527.3 kB view details)

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

veclite_db-1.0.5-cp38-abi3-macosx_11_0_arm64.whl (406.3 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: veclite_db-1.0.5-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 290.2 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.0.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3dab0bad9d5cb62f01c623499e8cc37fe9aa4fc6c7a391745c75bfa695d9c440
MD5 78f714edc2d2af548d8cee079ebaef9c
BLAKE2b-256 5360e85e56c55ad764998f8fe38ecb87ad63cbc388a5313204d692fa79b85108

See more details on using hashes here.

Provenance

The following attestation bundles were made for veclite_db-1.0.5-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.0.5-cp38-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for veclite_db-1.0.5-cp38-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e322a0aae3ac48f21946bca1e6dddd17320ff6a0e34cefbdbe252d11f2fe2d5d
MD5 76b00984e0728072c03a1e09c2a63abb
BLAKE2b-256 5b75cc23864c1ffd28ab542898b524e4869a72ca0d01c1d84098e68ecf076f9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for veclite_db-1.0.5-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.0.5-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for veclite_db-1.0.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 58e3001bfa0d301d97477679fbd2eb7953554b95111071876af9cbfddaba33c0
MD5 280590c6548eb74f969aeefa4a18cc57
BLAKE2b-256 7351ea3a0a4c4b7f49e270adfd928c396ba3b2118c714bf6adaafb7cbf4ff1ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for veclite_db-1.0.5-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