LaminDB
Overview
LaminDB is an open-source data framework for biology designed to make data queryable, traceable, reproducible, and FAIR (Findable, Accessible, Interoperable, Reusable). It provides a unified platform that combines lakehouse architecture, lineage tracking, feature stores, biological ontologies, LIMS (Laboratory Information Management System), and ELN (Electronic Lab Notebook) capabilities through a single Python API.
Core Value Proposition:
- Queryability: Search and filter datasets by metadata, features, and ontology terms
- Traceability: Automatic lineage tracking from raw data through analysis to results
- Reproducibility: Version control for data, code, and environment
- FAIR Compliance: Standardized annotations using biological ontologies
When to Use This Skill
Use this skill when:
- Managing biological datasets: scRNA-seq, bulk RNA-seq, spatial transcriptomics, flow cytometry, multi-modal data, EHR data
- Tracking computational workflows: Notebooks, scripts, pipeline execution (Nextflow, Snakemake, Redun)
- Curating and validating data: Schema validation, standardization, ontology-based annotation
- Working with biological ontologies: Genes, proteins, cell types, tissues, diseases, pathways (via Bionty)
- Building data lakehouses: Unified query interface across multiple datasets
- Ensuring reproducibility: Automatic versioning, lineage tracking, environment capture
- Integrating ML pipelines: Connecting with Weights & Biases, MLflow, HuggingFace, scVI-tools
- Deploying data infrastructure: Setting up local or cloud-based data management systems
- Collaborating on datasets: Sharing curated, annotated data with standardized metadata
Core Capabilities
LaminDB provides six interconnected capability areas, each documented in detail in the references folder.
1. Core Concepts and Data Lineage
Core entities:
- Artifacts: Versioned datasets (DataFrame, AnnData, Parquet, Zarr, etc.)
- Records: Experimental entities (samples, perturbations, instruments)
- Runs & Transforms: Computational lineage tracking (what code produced what data)
- Features: Typed metadata fields for annotation and querying
Key workflows:
- Create and version artifacts from files or Python objects
- Track notebook/script execution with
ln.track() and ln.finish()
- Annotate artifacts with typed features
- Visualize data lineage graphs with
artifact.view_lineage()
- Query by provenance (find all outputs from specific code/inputs)
Reference: references/core-concepts.md - Read this for detailed information on artifacts, records, runs, transforms, features, versioning, and lineage tracking.
2. Data Management and Querying
Query capabilities:
- Registry exploration and lookup with auto-complete
- Single record retrieval with
get(), one(), one_or_none()
- Filtering with comparison operators (
__gt, __lte, __contains, __startswith)
- Feature-based queries (query by annotated metadata)
- Cross-registry traversal with double-underscore syntax
- Full-text search across registries
- Advanced logical queries with Q objects (AND, OR, NOT)
- Streaming large datasets without loading into memory
Key workflows:
- Browse artifacts with filters and ordering
- Query by features, creation date, creator, size, etc.
- Stream large files in chunks or with array slicing
- Organize data with hierarchical keys
- Group artifacts into collections
Reference: references/data-management.md - Read this for comprehensive query patterns, filtering examples, streaming strategies, and data organization best practices.
3. Annotation and Validation
Curation process:
- Validation: Confirm datasets match desired schemas
- Standardization: Fix typos, map synonyms to canonical terms
- Annotation: Link datasets to metadata entities for queryability
Schema types:
- Flexible schemas: Validate only known columns, allow additional metadata
- Minimal required schemas: Specify essential columns, permit extras
- Strict schemas: Complete control over structure and values
Supported data types:
- DataFrames (Parquet, CSV)
- AnnData (single-cell genomics)
- MuData (multi-modal)
- SpatialData (spatial transcriptomics)
- TileDB-SOMA (scalable arrays)
Key workflows:
- Define features and schemas for data validation
- Use
DataFrameCurator or AnnDataCurator for validation
- Standardize values with
.cat.standardize()
- Map to ontologies with
.cat.add_ontology()
- Save curated artifacts with schema linkage
- Query validated datasets by features
Reference: references/annotation-validation.md - Read this for detailed curation workflows, schema design patterns, handling validation errors, and best practices.
4. Biological Ontologies
Available ontologies (via Bionty):
- Genes (Ensembl), Proteins (UniProt)
- Cell types (CL), Cell lines (CLO)
- Tissues (Uberon), Diseases (Mondo, DOID)
- Phenotypes (HPO), Pathways (GO)
- Experimental factors (EFO), Developmental stages
- Organisms (NCBItaxon), Drugs (DrugBank)
Key workflows:
- Import public ontologies with
bt.CellType.import_source()
- Search ontologies with keyword or exact matching
- Standardize terms using synonym mapping
- Explore hierarchical relationships (parents, children, ancestors)
- Validate data against ontology terms
- Annotate datasets with ontology records
- Create custom terms and hierarchies
- Handle multi-organism contexts (human, mouse, etc.)
Reference: references/ontologies.md - Read this for comprehensive ontology operations, standardization strategies, hierarchy navigation, and annotation workflows.
5. Integrations
Workflow managers:
- Nextflow: Track pipeline processes and outputs
- Snakemake: Integrate into Snakemake rules
- Redun: Combine with Redun task tracking
MLOps platforms:
- Weights & Biases: Link experiments with data artifacts
- MLflow: Track models and experiments
- HuggingFace: Track model fine-tuning
- scVI-tools: Single-cell analysis workflows
Storage systems:
- Local filesystem, AWS S3, Google Cloud Storage
- S3-compatible (MinIO, Cloudflare R2)
- HTTP/HTTPS endpoints (read-only)
- HuggingFace datasets
Array stores:
- TileDB-SOMA (with cellxgene support)
- DuckDB for SQL queries on Parquet files
Visualization:
- Vitessce for interactive spatial/single-cell visualization
Version control:
- Git integration for source code tracking
Reference: references/integrations.md - Read this for integration patterns, code examples, and troubleshooting for third-party systems.
6. Setup and Deployment
Installation:
- Basic:
pip install lamindb
- With extras:
pip install 'lamindb[gcp,zarr,fcs]'
- Modules: bionty, wetlab, clinical
Instance types:
- Local SQLite (development)
- Cloud storage + SQLite (small teams)
- Cloud storage + PostgreSQL (production)
Storage options:
- Local filesystem
- AWS S3 with configurable regions and permissions
- Google Cloud Storage
- S3-compatible endpoints (MinIO, Cloudflare R2)
Configuration:
- Cache management for cloud files
- Multi-user system configurations
- Git repository sync
- Environment variables
Deployment patterns:
- Local dev → Cloud production migration
- Multi-region deployments
- Shared storage with personal instances
Reference: references/setup-deployment.md - Read this for detailed installation, configuration, storage setup, database management, security best practices, and troubleshooting.
Common Use Case Workflows
Use Case 1: Single-Cell RNA-seq Analysis with Ontology Validation
import lamindb as ln
import bionty as bt
import anndata as ad
# Start tracking
ln.track(params={"analysis": "scRNA-seq QC and annotation"})
# Import cell type ontology
bt.CellType.import_source()
# Load data
adata = ad.read_h5ad("raw_counts.h5ad")
# Validate and standardize cell types
adata.obs["cell_type"] = bt.CellType.standardize(adata.obs["cell_type"])
# Curate with schema
curator = ln.curators.AnnDataCurator(adata, schema)
curator.validate()
artifact = curator.save_artifact(key="scrna/validated.h5ad")
# Link ontology annotations
cell_types = bt.CellType.from_values(adata.obs.cell_type)
artifact.feature_sets.add_ontology(cell_types)
ln.finish()
Use Case 2: Building a Queryable Data Lakehouse
import lamindb as ln
# Register multiple experiments
for i, file in enumerate(data_files):
artifact = ln.Artifact.from_anndata(
ad.read_h5ad(file),
key=f"scrna/batch_{i}.h5ad",
description=f"scRNA-seq batch {i}"
).save()
# Annotate with features
artifact.features.add_values({
"batch": i,
"tissue": tissues[i],
"condition": conditions[i]
})
# Query across all experiments
immune_datasets = ln.Artifact.filter(
key__startswith="scrna/",
tissue="PBMC",
condition="treated"
).to_dataframe()
# Load specific datasets
for artifact in immune_datasets:
adata = artifact.load()
# Analyze
Use Case 3: ML Pipeline with W&B Integration
import lamindb as ln
import wandb
# Initialize both systems
wandb.init(project="drug-response", name="exp-42")
ln.track(params={"model": "random_forest", "n_estimators": 100})
# Load training data from LaminDB
train_artifact = ln.Artifact.get(key="datasets/train.parquet")
train_data = train_artifact.load()
# Train model
model = train_model(train_data)
# Log to W&B
wandb.log({"accuracy": 0.95})
# Save model in LaminDB with W&B linkage
import joblib
joblib.dump(model, "model.pkl")
model_artifact = ln.Artifact("model.pkl", key="models/exp-42.pkl").save()
model_artifact.features.add_values({"wandb_run_id": wandb.run.id})
ln.finish()
wandb.finish()
Use Case 4: Nextflow Pipeline Integration
# In Nextflow process script
import lamindb as ln
ln.track()
# Load input artifact
input_artifact = ln.Artifact.get(key="raw/batch_${batch_id}.fastq.gz")
input_path = input_artifact.cache()
# Process (alignment, quantification, etc.)
# ... Nextflow process logic ...
# Save output
output_artifact = ln.Artifact(
"counts.csv",
key="processed/batch_${batch_id}_counts.csv"
).save()
ln.finish()
Getting Started Checklist
To start using LaminDB effectively:
Installation & Setup (references/setup-deployment.md)
- Install LaminDB and required extras
- Authenticate with
lamin login
- Initialize instance with
lamin init --storage ...
Learn Core Concepts (references/core-concepts.md)
- Understand Artifacts, Records, Runs, Transforms
- Practice creating and retrieving artifacts
- Implement
ln.track() and ln.finish() in workflows
Master Querying (references/data-management.md)
- Practice filtering and searching registries
- Learn feature-based queries
- Experiment with streaming large files
Set Up Validation (references/annotation-validation.md)
- Define features relevant to research domain
- Create schemas for data types
- Practice curation workflows
Integrate Ontologies (references/ontologies.md)
- Import relevant biological ontologies (genes, cell types, etc.)
- Validate existing annotations
- Standardize metadata with ontology terms
Connect Tools (references/integrations.md)
- Integrate with existing workflow managers
- Link ML platforms for experiment tracking
- Configure cloud storage and compute
Key Principles
Follow these principles when working with LaminDB:
Track everything: Use ln.track() at the start of every analysis for automatic lineage capture
Validate early: Define schemas and validate data before extensive analysis
Use ontologies: Leverage public biological ontologies for standardized annotations
Organize with keys: Structure artifact keys hierarchically (e.g., project/experiment/batch/file.h5ad)
Query metadata first: Filter and search before loading large files
Version, don't duplicate: Use built-in versioning instead of creating new keys for modifications
Annotate with features: Define typed features for queryable metadata
Document thoroughly: Add descriptions to artifacts, schemas, and transforms
Leverage lineage: Use view_lineage() to understand data provenance
Start local, scale cloud: Develop locally with SQLite, deploy to cloud with PostgreSQL
Reference Files
This skill includes comprehensive reference documentation organized by capability:
references/core-concepts.md - Artifacts, records, runs, transforms, features, versioning, lineage
references/data-management.md - Querying, filtering, searching, streaming, organizing data
references/annotation-validation.md - Schema design, curation workflows, validation strategies
references/ontologies.md - Biological ontology management, standardization, hierarchies
references/integrations.md - Workflow managers, MLOps platforms, storage systems, tools
references/setup-deployment.md - Installation, configuration, deployment, troubleshooting
Read the relevant reference file(s) based on the specific LaminDB capability needed for the task at hand.
Additional Resources
1---2name: lamindb3description: This skill should be used when working with LaminDB, an open-source data framework for biology that makes data queryable, traceable, reproducible, and FAIR. Use when managing biological datasets (scRNA-seq, spatial, flow cytometry, etc.), tracking computational workflows, curating and validating data with biological ontologies, building data lakehouses, or ensuring data lineage and reproducibility in biological research. Covers data management, annotation, ontologies (genes, cell types, diseases, tissues), schema validation, integrations with workflow managers (Nextflow, Snakemake) and MLOps platforms (W&B, MLflow), and deployment strategies.4---5
6# LaminDB
7
8## Overview
9
10LaminDB is an open-source data framework for biology designed to make data queryable, traceable, reproducible, and FAIR (Findable, Accessible, Interoperable, Reusable). It provides a unified platform that combines lakehouse architecture, lineage tracking, feature stores, biological ontologies, LIMS (Laboratory Information Management System), and ELN (Electronic Lab Notebook) capabilities through a single Python API.
11
12**Core Value Proposition:**
13- **Queryability**: Search and filter datasets by metadata, features, and ontology terms
14- **Traceability**: Automatic lineage tracking from raw data through analysis to results
15- **Reproducibility**: Version control for data, code, and environment
16- **FAIR Compliance**: Standardized annotations using biological ontologies
17
18## When to Use This Skill
19
20Use this skill when:
21
22- **Managing biological datasets**: scRNA-seq, bulk RNA-seq, spatial transcriptomics, flow cytometry, multi-modal data, EHR data
23- **Tracking computational workflows**: Notebooks, scripts, pipeline execution (Nextflow, Snakemake, Redun)
24- **Curating and validating data**: Schema validation, standardization, ontology-based annotation
25- **Working with biological ontologies**: Genes, proteins, cell types, tissues, diseases, pathways (via Bionty)
26- **Building data lakehouses**: Unified query interface across multiple datasets
27- **Ensuring reproducibility**: Automatic versioning, lineage tracking, environment capture
28- **Integrating ML pipelines**: Connecting with Weights & Biases, MLflow, HuggingFace, scVI-tools
29- **Deploying data infrastructure**: Setting up local or cloud-based data management systems
30- **Collaborating on datasets**: Sharing curated, annotated data with standardized metadata
31
32## Core Capabilities
33
34LaminDB provides six interconnected capability areas, each documented in detail in the references folder.
35
36### 1. Core Concepts and Data Lineage
37
38**Core entities:**
39- **Artifacts**: Versioned datasets (DataFrame, AnnData, Parquet, Zarr, etc.)
40- **Records**: Experimental entities (samples, perturbations, instruments)
41- **Runs & Transforms**: Computational lineage tracking (what code produced what data)
42- **Features**: Typed metadata fields for annotation and querying
43
44**Key workflows:**
45- Create and version artifacts from files or Python objects
46- Track notebook/script execution with `ln.track()` and `ln.finish()`
47- Annotate artifacts with typed features
48- Visualize data lineage graphs with `artifact.view_lineage()`
49- Query by provenance (find all outputs from specific code/inputs)
50
51**Reference:** `references/core-concepts.md` - Read this for detailed information on artifacts, records, runs, transforms, features, versioning, and lineage tracking.
52
53### 2. Data Management and Querying
54
55**Query capabilities:**
56- Registry exploration and lookup with auto-complete
57- Single record retrieval with `get()`, `one()`, `one_or_none()`
58- Filtering with comparison operators (`__gt`, `__lte`, `__contains`, `__startswith`)
59- Feature-based queries (query by annotated metadata)
60- Cross-registry traversal with double-underscore syntax
61- Full-text search across registries
62- Advanced logical queries with Q objects (AND, OR, NOT)
63- Streaming large datasets without loading into memory
64
65**Key workflows:**
66- Browse artifacts with filters and ordering
67- Query by features, creation date, creator, size, etc.
68- Stream large files in chunks or with array slicing
69- Organize data with hierarchical keys
70- Group artifacts into collections
71
72**Reference:** `references/data-management.md` - Read this for comprehensive query patterns, filtering examples, streaming strategies, and data organization best practices.
73
74### 3. Annotation and Validation
75
76**Curation process:**
771. **Validation**: Confirm datasets match desired schemas
782. **Standardization**: Fix typos, map synonyms to canonical terms
793. **Annotation**: Link datasets to metadata entities for queryability
80
81**Schema types:**
82- **Flexible schemas**: Validate only known columns, allow additional metadata
83- **Minimal required schemas**: Specify essential columns, permit extras
84- **Strict schemas**: Complete control over structure and values
85
86**Supported data types:**
87- DataFrames (Parquet, CSV)
88- AnnData (single-cell genomics)
89- MuData (multi-modal)
90- SpatialData (spatial transcriptomics)
91- TileDB-SOMA (scalable arrays)
92
93**Key workflows:**
94- Define features and schemas for data validation
95- Use `DataFrameCurator` or `AnnDataCurator` for validation
96- Standardize values with `.cat.standardize()`
97- Map to ontologies with `.cat.add_ontology()`
98- Save curated artifacts with schema linkage
99- Query validated datasets by features
100
101**Reference:** `references/annotation-validation.md` - Read this for detailed curation workflows, schema design patterns, handling validation errors, and best practices.
102
103### 4. Biological Ontologies
104
105**Available ontologies (via Bionty):**
106- Genes (Ensembl), Proteins (UniProt)
107- Cell types (CL), Cell lines (CLO)
108- Tissues (Uberon), Diseases (Mondo, DOID)
109- Phenotypes (HPO), Pathways (GO)
110- Experimental factors (EFO), Developmental stages
111- Organisms (NCBItaxon), Drugs (DrugBank)
112
113**Key workflows:**
114- Import public ontologies with `bt.CellType.import_source()`
115- Search ontologies with keyword or exact matching
116- Standardize terms using synonym mapping
117- Explore hierarchical relationships (parents, children, ancestors)
118- Validate data against ontology terms
119- Annotate datasets with ontology records
120- Create custom terms and hierarchies
121- Handle multi-organism contexts (human, mouse, etc.)
122
123**Reference:** `references/ontologies.md` - Read this for comprehensive ontology operations, standardization strategies, hierarchy navigation, and annotation workflows.
124
125### 5. Integrations
126
127**Workflow managers:**
128- Nextflow: Track pipeline processes and outputs
129- Snakemake: Integrate into Snakemake rules
130- Redun: Combine with Redun task tracking
131
132**MLOps platforms:**
133- Weights & Biases: Link experiments with data artifacts
134- MLflow: Track models and experiments
135- HuggingFace: Track model fine-tuning
136- scVI-tools: Single-cell analysis workflows
137
138**Storage systems:**
139- Local filesystem, AWS S3, Google Cloud Storage
140- S3-compatible (MinIO, Cloudflare R2)
141- HTTP/HTTPS endpoints (read-only)
142- HuggingFace datasets
143
144**Array stores:**
145- TileDB-SOMA (with cellxgene support)
146- DuckDB for SQL queries on Parquet files
147
148**Visualization:**
149- Vitessce for interactive spatial/single-cell visualization
150
151**Version control:**
152- Git integration for source code tracking
153
154**Reference:** `references/integrations.md` - Read this for integration patterns, code examples, and troubleshooting for third-party systems.
155
156### 6. Setup and Deployment
157
158**Installation:**
159- Basic: `pip install lamindb`
160- With extras: `pip install 'lamindb[gcp,zarr,fcs]'`
161- Modules: bionty, wetlab, clinical
162
163**Instance types:**
164- Local SQLite (development)
165- Cloud storage + SQLite (small teams)
166- Cloud storage + PostgreSQL (production)
167
168**Storage options:**
169- Local filesystem
170- AWS S3 with configurable regions and permissions
171- Google Cloud Storage
172- S3-compatible endpoints (MinIO, Cloudflare R2)
173
174**Configuration:**
175- Cache management for cloud files
176- Multi-user system configurations
177- Git repository sync
178- Environment variables
179
180**Deployment patterns:**
181- Local dev → Cloud production migration
182- Multi-region deployments
183- Shared storage with personal instances
184
185**Reference:** `references/setup-deployment.md` - Read this for detailed installation, configuration, storage setup, database management, security best practices, and troubleshooting.
186
187## Common Use Case Workflows
188
189### Use Case 1: Single-Cell RNA-seq Analysis with Ontology Validation
190
191```python
192import lamindb as ln
193import bionty as bt
194import anndata as ad
195
196# Start tracking
197ln.track(params={"analysis": "scRNA-seq QC and annotation"})
198
199# Import cell type ontology
200bt.CellType.import_source()
201
202# Load data
203adata = ad.read_h5ad("raw_counts.h5ad")
204
205# Validate and standardize cell types
206adata.obs["cell_type"] = bt.CellType.standardize(adata.obs["cell_type"])
207
208# Curate with schema
209curator = ln.curators.AnnDataCurator(adata, schema)
210curator.validate()
211artifact = curator.save_artifact(key="scrna/validated.h5ad")
212
213# Link ontology annotations
214cell_types = bt.CellType.from_values(adata.obs.cell_type)
215artifact.feature_sets.add_ontology(cell_types)
216
217ln.finish()
218```
219
220### Use Case 2: Building a Queryable Data Lakehouse
221
222```python
223import lamindb as ln
224
225# Register multiple experiments
226for i, file in enumerate(data_files):
227 artifact = ln.Artifact.from_anndata(
228 ad.read_h5ad(file),
229 key=f"scrna/batch_{i}.h5ad",
230 description=f"scRNA-seq batch {i}"
231 ).save()
232
233 # Annotate with features
234 artifact.features.add_values({
235 "batch": i,
236 "tissue": tissues[i],
237 "condition": conditions[i]
238 })
239
240# Query across all experiments
241immune_datasets = ln.Artifact.filter(
242 key__startswith="scrna/",
243 tissue="PBMC",
244 condition="treated"
245).to_dataframe()
246
247# Load specific datasets
248for artifact in immune_datasets:
249 adata = artifact.load()
250 # Analyze
251```
252
253### Use Case 3: ML Pipeline with W&B Integration
254
255```python
256import lamindb as ln
257import wandb
258
259# Initialize both systems
260wandb.init(project="drug-response", name="exp-42")
261ln.track(params={"model": "random_forest", "n_estimators": 100})
262
263# Load training data from LaminDB
264train_artifact = ln.Artifact.get(key="datasets/train.parquet")
265train_data = train_artifact.load()
266
267# Train model
268model = train_model(train_data)
269
270# Log to W&B
271wandb.log({"accuracy": 0.95})
272
273# Save model in LaminDB with W&B linkage
274import joblib
275joblib.dump(model, "model.pkl")
276model_artifact = ln.Artifact("model.pkl", key="models/exp-42.pkl").save()
277model_artifact.features.add_values({"wandb_run_id": wandb.run.id})
278
279ln.finish()
280wandb.finish()
281```
282
283### Use Case 4: Nextflow Pipeline Integration
284
285```python
286# In Nextflow process script
287import lamindb as ln
288
289ln.track()
290
291# Load input artifact
292input_artifact = ln.Artifact.get(key="raw/batch_${batch_id}.fastq.gz")
293input_path = input_artifact.cache()
294
295# Process (alignment, quantification, etc.)
296# ... Nextflow process logic ...
297
298# Save output
299output_artifact = ln.Artifact(
300 "counts.csv",
301 key="processed/batch_${batch_id}_counts.csv"
302).save()
303
304ln.finish()
305```
306
307## Getting Started Checklist
308
309To start using LaminDB effectively:
310
3111. **Installation & Setup** (`references/setup-deployment.md`)
312 - Install LaminDB and required extras
313 - Authenticate with `lamin login`
314 - Initialize instance with `lamin init --storage ...`
315
3162. **Learn Core Concepts** (`references/core-concepts.md`)
317 - Understand Artifacts, Records, Runs, Transforms
318 - Practice creating and retrieving artifacts
319 - Implement `ln.track()` and `ln.finish()` in workflows
320
3213. **Master Querying** (`references/data-management.md`)
322 - Practice filtering and searching registries
323 - Learn feature-based queries
324 - Experiment with streaming large files
325
3264. **Set Up Validation** (`references/annotation-validation.md`)
327 - Define features relevant to research domain
328 - Create schemas for data types
329 - Practice curation workflows
330
3315. **Integrate Ontologies** (`references/ontologies.md`)
332 - Import relevant biological ontologies (genes, cell types, etc.)
333 - Validate existing annotations
334 - Standardize metadata with ontology terms
335
3366. **Connect Tools** (`references/integrations.md`)
337 - Integrate with existing workflow managers
338 - Link ML platforms for experiment tracking
339 - Configure cloud storage and compute
340
341## Key Principles
342
343Follow these principles when working with LaminDB:
344
3451. **Track everything**: Use `ln.track()` at the start of every analysis for automatic lineage capture
346
3472. **Validate early**: Define schemas and validate data before extensive analysis
348
3493. **Use ontologies**: Leverage public biological ontologies for standardized annotations
350
3514. **Organize with keys**: Structure artifact keys hierarchically (e.g., `project/experiment/batch/file.h5ad`)
352
3535. **Query metadata first**: Filter and search before loading large files
354
3556. **Version, don't duplicate**: Use built-in versioning instead of creating new keys for modifications
356
3577. **Annotate with features**: Define typed features for queryable metadata
358
3598. **Document thoroughly**: Add descriptions to artifacts, schemas, and transforms
360
3619. **Leverage lineage**: Use `view_lineage()` to understand data provenance
362
36310. **Start local, scale cloud**: Develop locally with SQLite, deploy to cloud with PostgreSQL
364
365## Reference Files
366
367This skill includes comprehensive reference documentation organized by capability:
368
369- **`references/core-concepts.md`** - Artifacts, records, runs, transforms, features, versioning, lineage
370- **`references/data-management.md`** - Querying, filtering, searching, streaming, organizing data
371- **`references/annotation-validation.md`** - Schema design, curation workflows, validation strategies
372- **`references/ontologies.md`** - Biological ontology management, standardization, hierarchies
373- **`references/integrations.md`** - Workflow managers, MLOps platforms, storage systems, tools
374- **`references/setup-deployment.md`** - Installation, configuration, deployment, troubleshooting
375
376Read the relevant reference file(s) based on the specific LaminDB capability needed for the task at hand.
377
378## Additional Resources
379
380- **Official Documentation**: https://docs.lamin.ai
381- **API Reference**: https://docs.lamin.ai/api
382- **GitHub Repository**: https://github.com/laminlabs/lamindb
383- **Tutorial**: https://docs.lamin.ai/tutorial
384- **FAQ**: https://docs.lamin.ai/faq