Analysis updated 2026-05-18
Build a local-first AI app that stores text embeddings as vectors and large file attachments as content-addressed objects, all in one `.zova` file.
Migrate an existing SQLite database to Zova to gain built-in backup, diagnostics, and vector search without changing your SQL schema.
Use the graph storage to model a social network or dependency graph and traverse relationships with SQL-native queries.
| ata-sesli/zova | al3rez/zehn | atasoya/carbonara | |
|---|---|---|---|
| Stars | 4 | 15 | 19 |
| Language | Zig | Zig | Zig |
| Setup difficulty | hard | moderate | easy |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
All bindings require a Zig compiler to build from source, no pre-built Python wheels are available yet.
Zova is an embedded database library that builds on top of SQLite to add four types of storage in a single local file. Standard SQL tables handle structured records as they normally would in any SQLite database. Large binary items like files or images are stored as content-addressed objects, meaning they are chunked and identified by a hash of their contents rather than an arbitrary ID, which makes deduplication straightforward. Vector collections store numeric arrays for similarity searches, useful in AI applications that need to find nearest-neighbor results from embeddings. Graph storage tracks directed relationships between nodes, allowing SQL-native traversal across those connections. All four data shapes live together in one .zova file. Your application manages its own metadata in normal SQL tables and references object IDs or vector IDs from those tables when it needs to link to stored binary data or embeddings. Zova owns a set of private internal tables for its storage mechanics, but your tables stay separate and writable with ordinary SQL. The library is written in Zig and ships bindings for Rust, Python, Go, and a C ABI for other languages. Installation in Rust is a cargo dependency, in Python it is a pip or uv package, in Go it uses a module path. All builds require a Zig compiler because the core is compiled from source. Pre-built binary wheels for Python are not yet available, so source compilation is required during install. The library vendors its own copy of SQLite, so you do not need SQLite installed separately on the system. A command-line tool is included for inspecting, checking, backing up, compacting, and salvaging .zova files without writing application code. The project is pre-1.0, currently at version 0.21.0, and the file format version is 5. Existing SQLite databases can be converted into the Zova format if you want to add its features around data you already have in plain SQLite. An extension host system was introduced in the 0.21.0 release, allowing trusted extensions to register their own storage and lifecycle within the database.
An embedded database library built on SQLite that adds content-addressed object storage, vector collections, and graph relationships in a single local file, with bindings for Rust, Python, Go, and Zig.
Mainly Zig. The stack also includes Zig, SQLite, Rust.
License terms were not available in the portion of the README shown.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.