explaingit

ata-sesli/zova

Analysis updated 2026-05-18

4ZigAudience · developerComplexity · 4/5Setup · hard

TLDR

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.

Mindmap

mindmap
  root((zova))
    Storage types
      SQL records
      Content-addressed objects
      Vector collections
      Graph relationships
    Bindings
      Rust crate
      Python package
      Go module
      C ABI
      Zig native
    CLI tool
      Inspect backup
      Diagnostics salvage
      Compact restore
    Architecture
      Single zova file
      SQLite core
      Vendored SQLite
    Status
      Pre 1.0
      Version 0.21.0
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

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.

USE CASE 2

Migrate an existing SQLite database to Zova to gain built-in backup, diagnostics, and vector search without changing your SQL schema.

USE CASE 3

Use the graph storage to model a social network or dependency graph and traverse relationships with SQL-native queries.

What is it built with?

ZigSQLiteRustPythonGoC ABI

How does it compare?

ata-sesli/zovaal3rez/zehnatasoya/carbonara
Stars41519
LanguageZigZigZig
Setup difficultyhardmoderateeasy
Complexity4/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

All bindings require a Zig compiler to build from source, no pre-built Python wheels are available yet.

License terms were not available in the portion of the README shown.

In plain English

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.

Copy-paste prompts

Prompt 1
Show me how to set up a Zova database in a Rust project, insert a SQL record, store a binary object, and add a vector to a collection.
Prompt 2
I have a Python app that stores file metadata in SQLite. Walk me through migrating it to Zova so I can also store the file contents as content-addressed objects.
Prompt 3
Explain how Zova's graph storage works and show me a Go example of adding nodes, creating directed edges, and querying connections.
Prompt 4
Help me use the Zova CLI to back up a `.zova` file, run diagnostics, and restore from a backup.
Prompt 5
I want to store text embeddings in a Zova vector collection and run nearest-neighbor searches. Show me the Python API for creating the collection and querying it.

Frequently asked questions

What is zova?

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.

What language is zova written in?

Mainly Zig. The stack also includes Zig, SQLite, Rust.

What license does zova use?

License terms were not available in the portion of the README shown.

How hard is zova to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is zova for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub ata-sesli on gitmyhub

Verify against the repo before relying on details.