Jupyter Notebook

Manage schemas#

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

  1. Any LaminDB instance can plug in an arbitrary number of schemas

  2. Each schema is a Python package that defines an arbitrary number of data models

  3. Every data model is a Registry and comes with an auto-generated corresponding SQL table

Basic data management: lnschema_core#

The core schema is built into the core LaminDB API, but it’s managed as its own Python package lnschema_core with repository here.

All of LaminDB’s core classes, like Artifact, Transform, User, etc. are registries defined in the core schema. You can see their source code here.

View the schema#

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

In your browser, navigating to <localhost>/schema/ will show an interactive version of graph similar to the one on the right.

Basic biological entities: bionty#

See bionty.

Custom schemas#

You can set up your own schemas & registries or reach out for support within Lamin’s enterprise plan.

The only convention required by LaminDB for plugging in a valid (minimal) Django app.

You’ll see how simple it is if you look at this example: github.com/laminlabs/lnschema-lamin1.

Schema management needs two CLI calls (see Install & setup):

  • lamin migrate create

  • lamin migrate deploy