An embedded, single-file key-value store for OCaml, inspired by BoltDB and LMDB.
1# Lithos
2
3An embedded, single-file key-value store for OCaml, inspired by BoltDB and LMDB.
4It offers ACID transactions, B-tree–backed pages, and copy-on-write MVCC with a minimal API.
5
6## CLI Usage
7
8### Initialize a Database
9
10Create a new lithos database with default 4KB page size:
11
12```sh
13lithos init mydata.db
14# Or specify a custom page size:
15lithos init mydata.db --page-size 8192
16```
17
18### Display Database Information
19
20View metadata about an existing database:
21
22```sh
23$ lithos info mydata.db
24 Database: mydata.db
25 Version: 1
26 Page size: 4096 bytes
27 Root bucket: None
28```
29
30## Development
31
32### Setup
33
34```sh
35opam switch create lithos 5.3.0
36eval $(opam env)
37
38opam install dune alcotest checkseum fmt logs cmdliner
39```
40
41### Commands
42
43```sh
44dune build
45
46# Test
47dune test
48
49# Run CLI
50dune exec lithos -- <command> [args]
51```