Lithos#
An embedded, single-file key-value store for OCaml, inspired by BoltDB and LMDB. It offers ACID transactions, B-tree–backed pages, and copy-on-write MVCC with a minimal API.
CLI Usage#
Initialize a Database#
Create a new lithos database with default 4KB page size:
lithos init mydata.db
# Or specify a custom page size:
lithos init mydata.db --page-size 8192
Display Database Information#
View metadata about an existing database:
$ lithos info mydata.db
Database: mydata.db
Version: 1
Page size: 4096 bytes
Root bucket: None
Development#
Setup#
opam switch create lithos 5.3.0
eval $(opam env)
opam install dune alcotest checkseum fmt logs cmdliner
Commands#
dune build
# Test
dune test
# Run CLI
dune exec lithos -- <command> [args]