Jupyter Notebook

Manage custom modules

LaminDB gives you a framework for managing complex typed metadata schema-full:

  1. Any LaminDB instance can plug in modules with any number of custom registries and thereby extend the types in its database schema

  2. Each module is a Python package that defines related registries through their records (Record)

  3. Every registry corresponds to a SQL table in the underlying Postgres or SQLite database

Basic data management: lamindb

The core database schema is built into the lamindb API.

Almost all of LaminDB’s central classes, like Artifact, Transform, User, etc. are registries. You can see their source code here.

View the database schema

For your given instance, you view the database schema by running lamin info --schema on the command line.

Your browser will show an interactive version of a graph similar to the one on the right. In the left side panel, you can choose to hide the relationships you’re not interested in and you’ll be able to trace some relationships.

Basic biological entities: bionty

See bionty.

Custom modules

You can set up your own modules & registries or reach out for support within Lamin’s Team or Enterprise plan.

You’ll see how simple it is if you look at this example: wetlab/models.py. You only need a single Python file to define registries via data models.

Managing migrations of database schema changes needs two CLI calls (see Install & setup):

  • lamin migrate create

  • lamin migrate deploy