Metadata-Version: 2.1
Name: lamindb
Version: 0.51a1
Summary: Open-source data platform for biology.
Author-email: Lamin Labs <laminlabs@gmail.com>
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: lnschema_core==0.45.5
Requires-Dist: lamindb_setup==0.50.2
Requires-Dist: lamin_utils==0.10.2
Requires-Dist: rapidfuzz
Requires-Dist: pyarrow
Requires-Dist: typing_extensions!=4.6.0
Requires-Dist: python-dateutil
Requires-Dist: anndata>=0.9.1,<=0.9.2
Requires-Dist: fsspec
Requires-Dist: pandas
Requires-Dist: botocore==1.29.76 ; extra == "aws"
Requires-Dist: urllib3<2 ; extra == "aws"
Requires-Dist: boto3==1.26.76 ; extra == "aws"
Requires-Dist: fsspec[s3]==2023.5.0 ; extra == "aws"
Requires-Dist: lnschema_bionty==0.29.6 ; extra == "bionty"
Requires-Dist: pre-commit ; extra == "dev"
Requires-Dist: nox ; extra == "dev"
Requires-Dist: laminci>=0.3 ; extra == "dev"
Requires-Dist: pytest>=6.0 ; extra == "dev"
Requires-Dist: coverage ; extra == "dev"
Requires-Dist: pytest-cov ; extra == "dev"
Requires-Dist: nbproject_test>=0.3.0 ; extra == "dev"
Requires-Dist: faker-biology ; extra == "dev"
Requires-Dist: graphviz ; extra == "dev"
Requires-Dist: erdiagram>=0.1.3 ; extra == "erdiagram"
Requires-Dist: readfcs>=1.1.5 ; extra == "fcs"
Requires-Dist: fsspec[gs]==2023.5.0 ; extra == "gcp"
Requires-Dist: nbproject==0.9.2 ; extra == "jupyter"
Requires-Dist: psycopg2-binary ; extra == "postgres"
Requires-Dist: zarr>=2.16.0 ; extra == "zarr"
Project-URL: Home, https://github.com/laminlabs/lamindb
Provides-Extra: aws
Provides-Extra: bionty
Provides-Extra: dev
Provides-Extra: erdiagram
Provides-Extra: fcs
Provides-Extra: gcp
Provides-Extra: jupyter
Provides-Extra: postgres
Provides-Extra: zarr

[![Stars](https://img.shields.io/github/stars/laminlabs/lamindb?logo=GitHub&color=yellow)](https://github.com/laminlabs/lamindb)
[![codecov](https://codecov.io/gh/laminlabs/lamindb/branch/main/graph/badge.svg?token=VKMRJ7OWR3)](https://codecov.io/gh/laminlabs/lamindb)
[![pypi](https://img.shields.io/pypi/v/lamindb?color=blue&label=pypi%20package)](https://pypi.org/project/lamindb)

# LaminDB - Open-source data platform for biology

```{warning}

Public beta: Close to having converged a stable API, but some breaking changes might still occur.

```

LaminDB is a Python library to manage data & analyses related to biology:

- Track & query data lineage across pipelines, notebooks & app uploads.
- Query, validate & link data batches using biological registries & ontologies.
- Manage features & labels schema-less or schema-full.
- Collaborate across a mesh of LaminDB instances.

If you want a UI: LaminApp is built on LaminDB. If LaminDB ~ git, LaminApp ~ GitHub.

(LaminApp, support, integration tests & schemas for an enterprise platform are available on a paid plan - on-prem or hosted by us.)

## Quickstart

[Installation and sign-up](https://lamin.ai/docs/setup) take no time: Run `pip install lamindb` and `lamin signup <email>` on the command line.

Init a LaminDB instance with local or cloud default storage like you'd init a git repository:

```shell
$ lamin init --storage ./mydata   # or s3://my-bucket, gs://my-bucket
```

Validate & register a `DataFrame`:

```python
import lamindb as ln
import pandas as pd

ln.track()  # track run context in a notebook

df = pd.DataFrame({"feat1": [1, 2], "feat2": [3, 4], "perturbation": ["pert1", "pert2"]})

ln.File.from_df(df, description="Data batch 1").save()  # create a File object and save/upload it
```

Query & use a `DataFrame`:

```python
ln.File.search("batch 1")  # run a search

file = ln.File.filter(labels="pert1").one()  # or a query (under-the-hood, you have the full power of SQL to query)

df = file.load()
```

## Documentation

Read the [docs](https://lamin.ai/docs/guide/).

