$ memista

About memista

A small library by Skelf Research. Built because not every project that needs vector search needs a vector database.

What it is

memista is a Rust crate (crates.io/crates/memista) that packages a vector search service into a single binary. It uses SQLite (via async-sqlite) for chunk text and metadata, and USearch for the vector index. An Actix-web layer exposes three HTTP endpoints, with OpenAPI documentation auto-generated by apistos and rendered via Swagger UI, Redoc, RapiDoc and Scalar at /swagger, /redoc, /rapidoc and /scalar.

What it isn't

  • It is not a distributed database. There is one process, one disk.
  • It is not yet production-tested at scale — the project's own README marks it experimental (tested under ~100k vectors).
  • It does not authenticate clients. The server binds to localhost; if you expose it, you reverse-proxy it.
  • It does not currently accept arbitrary embedding dimensions in the stock build — IndexOptions::dimensions is set to 2 in src/lib.rs. You will edit this before real use. See changing embedding dimensions.

The audience

Rust developers who are bolting retrieval onto something else — an agent, a desktop app, a CLI — and don't want a separate database to run, monitor, and back up. Edge and local-AI workloads where a single binary that writes a .db and a .usearch file next to it is the right shape. See the use cases for concrete examples.

Index details (grounded)

Property Value Source
Index backendUSearch 2.19.xCargo.toml
AlgorithmHNSW (USearch default)USearch docs
Distance metricInner Product (MetricKind::IP)src/lib.rs
QuantizationScalarKind::F32src/lib.rs
SIMDsimsimd feature onCargo.toml
PersistenceSQLite WAL + <db_id>.usearch filesrc/lib.rs
Multi-vector keysmulti: truesrc/lib.rs

The default connectivity, expansion_add and expansion_search are passed as 0, which means USearch picks its built-in defaults. If you need to tune recall vs. latency, fork the load_or_create_index helper.

Project

memista is part of Skelf Research. Source on GitHub, published to crates.io, rustdoc at docs.rs, longer-form docs at docs.skelfresearch.com/memista/. Licensed GPL-3.0.