ldbc: Pure functional JDBC layer with Cats Effect 3 and Scala 3.

A project named LDBC was created and became an affiliate project of Typelevel.

LDBC is a database library written in Scala3.
It was just released last month and is rough around the edges, but you can touch it!

This is what makes me happy when I use LDBC.

  • Type safety: compile-time guarantees, development-time complements, read-time information
  • Declarative: Separates the form of the table definition (“What”) from the database connection (“How”).
  • SchemaSPY Integration: Generate documents from table descriptions
  • Models can be generated from SQL files.
  • Libraries, not frameworks: can be integrated into your stack

Please read the README documentation for more information!


Looks great! Typelevel is really missing out on some quickstart ORM-like libs.

I tried to write something slightly similar some time ago and ended up with skunk-tables, which I don’t have time to maintain right now.

I think LDBC can borrow at least the syntax for default tables - in skunk-tables you don’t have to always describe the precise DB types and constraints, but it infers the some sensible ones.


The method of building with only the necessary constraints is a very good idea.

I will read the skunk-tables code and refer to it!

1 Like