mattlianje

Lightweight, immutable database

10
0
100% credibility
Found May 19, 2026 at 14 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Scala
AI Summary

datomlite is a lightweight, immutable database library for Scala 3 applications. It lets you store data using ordinary Scala classes, query it with plain expressions, and keeps a complete history of every change. Your data types feel like regular collections, but you get powerful features like time travel, safe concurrent access, and file persistence for free. The database never overwrites anything—it only adds new facts—so you can always go back and see what things looked like before.

How It Works

1
💡 You discover a different kind of database

Someone tells you about datomlite, a database that feels like working with ordinary lists and objects instead of learning a complex system.

2
📦 You bring it into your project

You add datomlite to your Scala app with one line. It has no extra dependencies, so everything stays light and fast.

3
🏗️ You write your data as simple classes

You describe your data using normal Scala classes like 'Person' or 'Order' with just the fields you need. No registration forms or special setup.

4
💾 You save information and it just works

You add a person to your database with one command. Everything saves automatically, and you can look up your data by any field.

5
You can ask complex questions
🔍
Find things quickly by any field

Ask 'show me all people named Alice' and get instant results using the built-in indexes.

🔗
Combine data from multiple types at once

Ask 'which customers bought from sales reps in the same department?' and get back combined results.

6
📁 Your data persists safely

Everything is saved to a file you choose. You can stop your app and come back later, and your data is exactly where you left it.

You can see the past

Need to know what your data looked like last week? You can query any past moment without losing your current data. Every change history is preserved automatically.

Sign up to see the full architecture

5 more

Sign Up Free

Star Growth

See how this repo grew from 14 to 10 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is datomlite?

datomlite is a pure Scala 3 in-process database that treats your entire data store as an immutable value. You create it, pass it around, query it, and every transaction returns a new version while keeping all past states accessible. It borrows Datalog-style triple storage but expresses queries as plain Scala code, using your case classes as the schema without any separate registration or DDL. The library sits entirely inside your process with no server, no client API, and no external dependencies.

Why is it gaining traction?

The killer feature is how queries feel like collections. You write `db.where[Person](_.email == "m@x.io").one` and it just works, with equality automatically probing an index. The type-safe Datalog surface gives you joins, aggregations, window functions, and recursive rules, but everything compiles against your actual case class fields so typos surface at build time. Time travel is a first-class operation: branch off speculative transactions, diff two database states, or rewind to any past transaction or wall-clock timestamp. For Scala developers who want the power of Datomic without the infrastructure overhead, this hits a sweet spot.

Who should use this?

Backend engineers building domain models in Scala who want an embedded store for complex queries without standing up a separate service. Teams experimenting with event sourcing or audit-log patterns where every change must remain queryable. Anyone building graph-heavy features (org hierarchies, social networks, recommendation chains) where recursive rules would otherwise require hand-rolled CTE SQL or in-memory traversal. Not suitable for teams needing multi-writer distributed writes or production-grade durability without implementing a custom Storage backend.

Verdict

datomlite is a compelling prototype that delivers real capability, but the 1.0% credibility score reflects genuine risk: ten stars, no visible test suite, and a single maintainer. The API surface is rich and the Scala 3 macro work is impressive, but teams should expect rough edges and limited community support. Lock in a proof-of-concept before committing to production use.

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.