Query & search registries .md .md

This guide walks through different ways of querying & searching LaminDB registries.

# pip install lamindb
!lamin init --storage ./test-registries --modules bionty
Hide code cell output
 initialized lamindb: testuser1/test-registries

Let’s start by creating a few exemplary datasets and saving them into a LaminDB instance.

import lamindb as ln

ln.track()
ln.Artifact(ln.examples.datasets.file_fastq(), key="raw/my_fastq.fastq.gz").save()
ln.Artifact(ln.examples.datasets.file_jpg_paradisi05(), key="my_image.jpg").save()
ln.Artifact.from_dataframe(ln.examples.datasets.df_iris(), key="iris.parquet").save()
ln.examples.datasets.mini_immuno.save_mini_immuno_datasets()
Hide code cell output
 connected lamindb: testuser1/test-registries
 created Transform('fdwArO9WXdyM0000', key='registries.ipynb'), started new Run('RtbGlB5U9uZ0ev1g') at 2026-02-19 11:05:38 UTC
 notebook imports: bionty==2.2.1 lamindb==2.2a3
 recommendation: to identify the notebook across renames, pass the uid: ln.track("fdwArO9WXdyM")
 writing the in-memory object into cache
 writing the in-memory object into cache
 loading artifact into memory for validation
! 4 terms not validated in feature 'columns' in slot 'obs': 'assay_oid', 'concentration', 'treatment_time_h', 'donor'
    → fix typos, remove non-existent values, or save terms via: curator.slots['obs'].cat.add_new_from('columns')
 writing the in-memory object into cache
 loading artifact into memory for validation
! 3 terms not validated in feature 'columns' in slot 'obs': 'concentration', 'treatment_time_h', 'donor'
    → fix typos, remove non-existent values, or save terms via: curator.slots['obs'].cat.add_new_from('columns')

Get an overview

The easiest way to get an overview over all artifacts is by typing to_dataframe(), which returns the 100 latest artifacts in the Artifact registry.

ln.Artifact.to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad None .h5ad dataset AnnData 26896 RKJjWbINYNIwYU8BxCejMw None 3.0 ... True False 2026-02-19 11:05:48.382000+00:00 1 1 1 1 1 3.0 1
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3.0 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3.0 1
3 3eih8V8EhGnc6qcW0000 iris.parquet None .parquet dataset DataFrame 5202 WCj2rqgC6qkZiG-hoDVJvw None 150.0 ... True False 2026-02-19 11:05:40.688000+00:00 1 1 1 1 1 NaN 1
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg None .jpg None None 29358 r4tnqmKI_SjrkdLzpuWp4g None NaN ... True False 2026-02-19 11:05:40.581000+00:00 1 1 1 1 1 NaN 1
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None NaN ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 NaN 1

5 rows × 21 columns

You can include features.

ln.Artifact.to_dataframe(include="features")
Hide code cell output
 queried for all categorical features of dtypes Record or ULabel and non-categorical features: (7) ['perturbation', 'sample_note', 'temperature', 'experiment', 'date_of_study', 'study_note', 'study_metadata']
uid key perturbation temperature experiment date_of_study study_note study_metadata
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad {IFNG, DMSO} 22.6 Experiment 2 2025-02-13 NaN {'detail1': '456', 'detail2': 2}
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad {IFNG, DMSO} 21.6 Experiment 1 2024-12-01 We had a great time performing this study and ... {'detail1': '123', 'detail2': 1}
3 3eih8V8EhGnc6qcW0000 iris.parquet NaN NaN NaN NaT NaN NaN
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg NaN NaN NaN NaT NaN NaN
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz NaN NaN NaN NaT NaN NaN

You can include fields from other registries.

ln.Artifact.to_dataframe(
    include=[
        "created_by__name",
        "records__name",
        "cell_types__name",
        "schemas__itype",
    ]
)
Hide code cell output
uid key created_by__name records__name cell_types__name schemas__itype
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad Test User1 {IFNG, Experiment 2, DMSO} {B cell, T cell} {bionty.Gene.ensembl_gene_id, Feature}
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad Test User1 {IFNG, DMSO, Experiment 1} {CD8-positive, alpha-beta T cell, B cell, T cell} {bionty.Gene.ensembl_gene_id, Feature}
3 3eih8V8EhGnc6qcW0000 iris.parquet Test User1 {None} {None} {None}
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg Test User1 {None} {None} {None}
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz Test User1 {None} {None} {None}

You can also get an overview of the entire database.

ln.view()
Hide code cell output
****************
* module: core *
****************
Artifact
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad None .h5ad dataset AnnData 26896 RKJjWbINYNIwYU8BxCejMw None 3.0 ... True False 2026-02-19 11:05:48.382000+00:00 1 1 1 1 1 3.0 1
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3.0 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3.0 1
3 3eih8V8EhGnc6qcW0000 iris.parquet None .parquet dataset DataFrame 5202 WCj2rqgC6qkZiG-hoDVJvw None 150.0 ... True False 2026-02-19 11:05:40.688000+00:00 1 1 1 1 1 NaN 1
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg None .jpg None None 29358 r4tnqmKI_SjrkdLzpuWp4g None NaN ... True False 2026-02-19 11:05:40.581000+00:00 1 1 1 1 1 NaN 1
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None NaN ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 NaN 1

5 rows × 21 columns

Feature
uid name _dtype_str unit description array_rank array_size array_shape synonyms default_value ... coerce is_locked is_type created_at branch_id created_on_id space_id created_by_id run_id type_id
id
9 M0nW8sMyToZ5 study_metadata dict None None 0 0 None None None ... None False False 2026-02-19 11:05:41.836000+00:00 1 1 1 1 1 None
8 LtStK31UFVaz study_note str None None 0 0 None None None ... None False False 2026-02-19 11:05:41.829000+00:00 1 1 1 1 1 None
7 tjcW6eq2eZV9 date_of_study date None None 0 0 None None None ... True False False 2026-02-19 11:05:41.823000+00:00 1 1 1 1 1 None
6 t4IVPC7wHD1y experiment cat[Record] None None 0 0 None None None ... None False False 2026-02-19 11:05:41.816000+00:00 1 1 1 1 1 None
5 iQCYyYJq5HtW temperature float None None 0 0 None None None ... None False False 2026-02-19 11:05:41.810000+00:00 1 1 1 1 1 None
4 GPsh9kpliaGx cell_type_by_model cat[bionty.CellType] None None 0 0 None None None ... None False False 2026-02-19 11:05:41.804000+00:00 1 1 1 1 1 None
3 7JrAjX3h7xxQ cell_type_by_expert cat[bionty.CellType] None None 0 0 None None None ... None False False 2026-02-19 11:05:41.798000+00:00 1 1 1 1 1 None

7 rows × 21 columns

JsonValue
value hash is_locked created_at branch_id created_on_id space_id created_by_id run_id feature_id
id
7 {'detail1': '456', 'detail2': 2} QAU2Is6uXBBgz8zC_p-rAQ False 2026-02-19 11:05:48.444000+00:00 1 1 1 1 1 9
6 2025-02-13 SGTsR3XvXFi5jZ8UjC6YaQ False 2026-02-19 11:05:48.442000+00:00 1 1 1 1 1 7
5 22.6 54rmFUZH0WdllA5alp-64g False 2026-02-19 11:05:48.435000+00:00 1 1 1 1 1 5
4 {'detail1': '123', 'detail2': 1} nJ33A6k51yp-1ZlqFabWdw False 2026-02-19 11:05:45.705000+00:00 1 1 1 1 1 9
3 We had a great time performing this study and ... ixx1CqAyBO8WO7lLdLpqTg False 2026-02-19 11:05:45.703000+00:00 1 1 1 1 1 8
2 2024-12-01 gNXeOkGaab5bqWC7D--aHQ False 2026-02-19 11:05:45.701000+00:00 1 1 1 1 1 7
1 21.6 XftFE5byhwPHY-11WjfNAw False 2026-02-19 11:05:45.695000+00:00 1 1 1 1 1 5
Record
uid name description reference reference_type extra_data is_locked is_type created_at branch_id created_on_id space_id created_by_id type_id schema_id run_id
id
4 VH50JlKJjmnMVqS4 Experiment 2 None None None None False False 2026-02-19 11:05:41.037000+00:00 1 1 1 1 None None 1
3 QcxrEWQPMIJEzqE5 Experiment 1 None None None None False False 2026-02-19 11:05:41.037000+00:00 1 1 1 1 None None 1
2 VReLS1nwvhjAOFjn IFNG None None None None False False 2026-02-19 11:05:41.026000+00:00 1 1 1 1 None None 1
1 LpRa3KpJGy8musqO DMSO None None None None False False 2026-02-19 11:05:41.026000+00:00 1 1 1 1 None None 1
Run
uid name description entrypoint started_at finished_at params reference reference_type cli_args ... created_at branch_id created_on_id space_id transform_id report_id environment_id plan_id created_by_id initiated_by_run_id
id
1 RtbGlB5U9uZ0ev1g None None None 2026-02-19 11:05:38.711354+00:00 None None None None None ... 2026-02-19 11:05:38.712000+00:00 1 1 1 1 None None None 1 None

1 rows × 21 columns

Schema
uid name description n_members coerce flexible itype otype hash minimal_set ... maximal_set is_locked is_type created_at branch_id created_on_id space_id created_by_id run_id type_id
id
7 l4Dw9vjLQ4nkAm8b None None 3.0 None False bionty.Gene.ensembl_gene_id None fSbuKqXueizoVnttx06vsw True ... False False False 2026-02-19 11:05:48.404000+00:00 1 1 1 1 1 None
6 JVmXb26efFT2Brtv None None 2.0 None False Feature None yN1e73WkJGqNdihvO0BBqA True ... False False False 2026-02-19 11:05:48.397000+00:00 1 1 1 1 1 None
5 5ggtvOwmO4ucy9nm None None 3.0 None False bionty.Gene.ensembl_gene_id None P5KzXILi0TzYDHB82Pvt-w True ... False False False 2026-02-19 11:05:45.659000+00:00 1 1 1 1 1 None
4 la0cRGgvxsC6UXKy None None 4.0 None False Feature None jhQZIXU2KpLcFtktz-14-Q True ... False False False 2026-02-19 11:05:45.650000+00:00 1 1 1 1 1 None
3 0000000000000002 anndata_ensembl_gene_ids_and_valid_features_in... None NaN None True None AnnData aqGWHvyY49W_PHELUMiBMw True ... False False False 2026-02-19 11:05:41.861000+00:00 1 1 1 1 1 None
2 0000000000000001 valid_ensembl_gene_ids None NaN None True bionty.Gene.ensembl_gene_id None 1gocc_TJ1RU2bMwDRK-WUA True ... False False False 2026-02-19 11:05:41.855000+00:00 1 1 1 1 1 None
1 0000000000000000 valid_features None NaN None True Feature None kMi7B_N88uu-YnbTLDU-DA True ... False False False 2026-02-19 11:05:41.847000+00:00 1 1 1 1 1 None

7 rows × 21 columns

Storage
uid root description type region instance_uid is_locked created_at branch_id created_on_id space_id created_by_id run_id
id
1 Icr1taaQvj05 /home/runner/work/lamindb/lamindb/docs/test-re... None local None hlGq1WkbeSSf False 2026-02-19 11:05:35.957000+00:00 1 1 1 1 None
Transform
uid key description kind source_code hash reference reference_type version_tag is_latest is_locked created_at branch_id created_on_id space_id environment_id plan_id created_by_id
id
1 fdwArO9WXdyM0000 registries.ipynb Query & search registries [![.md](https://img.... notebook None None None None None True False 2026-02-19 11:05:38.706000+00:00 1 1 1 None None 1
******************
* module: bionty *
******************
CellType
uid name ontology_id abbr synonyms description is_locked created_at branch_id created_on_id space_id created_by_id run_id source_id
id
16 2OTzqBTMlYe5n3 mature T cell CL:0002419 None CD3e-positive T cell|mature T-cell A T Cell That Expresses A T Cell Receptor Comp... False 2026-02-19 11:05:43.273000+00:00 1 1 1 1 1 17
15 4BEwsp1Qruxeii mature alpha-beta T cell CL:0000791 None mature alpha-beta T lymphocyte|mature alpha-be... A Alpha-Beta T Cell That Has A Mature Phenotype. False 2026-02-19 11:05:43.273000+00:00 1 1 1 1 1 17
14 6By01L04BqiLTW alpha-beta T cell CL:0000789 None alpha-beta T-cell|alpha-beta T lymphocyte|alph... A T Cell That Expresses An Alpha-Beta T Cell R... False 2026-02-19 11:05:43.273000+00:00 1 1 1 1 1 17
13 6IC9NGJEv2Y4TD CD8-positive, alpha-beta T cell CL:0000625 None CD8-positive, alpha-beta T-cell|CD8-positive, ... A T Cell Expressing An Alpha-Beta T Cell Recep... False 2026-02-19 11:05:42.881000+00:00 1 1 1 1 1 17
12 u3sr1GdfF3aIV9 nucleate cell CL:0002242 None None A Cell Containing At Least One Nucleus. False 2026-02-19 11:05:41.772000+00:00 1 1 1 1 1 17
11 4Ilrnj9ULJe69Z hematopoietic cell CL:0000988 None haemopoietic cell|hemopoietic cell|haematopoie... A Cell Of A Hematopoietic Lineage. False 2026-02-19 11:05:41.772000+00:00 1 1 1 1 1 17
10 7GpphKmr4cyIoB lymphocyte of B lineage CL:0000945 None None A Lymphocyte Of B Lineage With The Commitment ... False 2026-02-19 11:05:41.772000+00:00 1 1 1 1 1 17
Gene
uid abbr synonyms description symbol stable_id ensembl_gene_id ncbi_gene_ids biotype is_locked created_at branch_id created_on_id space_id created_by_id run_id source_id organism_id
id
4 iFxDa8hoEWuWi9 None CADPR1 CD38 molecule CD38 None ENSG00000004468 952 protein_coding False 2026-02-19 11:05:48.380000+00:00 1 1 1 1 1 7 1
3 3bhNYquOnA4sdo None CD14 molecule CD14 None ENSG00000170458 929 protein_coding False 2026-02-19 11:05:45.629000+00:00 1 1 1 1 1 7 1
2 1j4At3x7akJU8n None T4|LEU-3 CD4 molecule CD4 None ENSG00000010610 920 protein_coding False 2026-02-19 11:05:45.629000+00:00 1 1 1 1 1 7 1
1 6Aqvc8ckDYeNrD None CD8|CD8ALPHA|P32 CD8 subunit alpha CD8A None ENSG00000153563 925 protein_coding False 2026-02-19 11:05:45.629000+00:00 1 1 1 1 1 7 1
Organism
uid name ontology_id abbr synonyms description scientific_name is_locked created_at branch_id created_on_id space_id created_by_id run_id source_id
id
1 1dpCL6TduFJ3AP human NCBITaxon:9606 None None None Homo sapiens False 2026-02-19 11:05:42.600000+00:00 1 1 1 1 1 1
Source
uid entity organism name version in_db currently_used description url md5 source_website is_locked created_at branch_id created_on_id space_id created_by_id run_id dataframe_artifact_id
id
34 5JnVODh4 BioSample all ncbi 2023-09 False True NCBI BioSample attributes s3://bionty-assets/df_all__ncbi__2023-09__BioS... None https://www.ncbi.nlm.nih.gov/biosample/docs/at... False 2026-02-19 11:05:36.425000+00:00 1 1 1 1 None None
33 7au3ZQrD bionty.Ethnicity human hancestro 2025-10-14 False True Human Ancestry Ontology http://purl.obolibrary.org/obo/hancestro/relea... None https://github.com/EBISPOT/hancestro False 2026-02-19 11:05:36.425000+00:00 1 1 1 1 None None
32 6na9vRls bionty.DevelopmentalStage mouse mmusdv 2025-01-23 False True Mouse Developmental Stages https://github.com/obophenotype/developmental-... None https://github.com/obophenotype/developmental-... False 2026-02-19 11:05:36.425000+00:00 1 1 1 1 None None
31 7JO1x6p1 bionty.DevelopmentalStage human hsapdv 2025-01-23 False True Human Developmental Stages https://github.com/obophenotype/developmental-... None https://github.com/obophenotype/developmental-... False 2026-02-19 11:05:36.425000+00:00 1 1 1 1 None None
30 1atB0WnU Drug all chebi 2024-07-27 False False Chemical Entities of Biological Interest s3://bionty-assets/df_all__chebi__2024-07-27__... None https://www.ebi.ac.uk/chebi/ False 2026-02-19 11:05:36.425000+00:00 1 1 1 1 None None
29 ugaIoIlj Drug all dron 2024-08-05 False True Drug Ontology http://purl.obolibrary.org/obo/dron/releases/2... None https://bioportal.bioontology.org/ontologies/DRON False 2026-02-19 11:05:36.425000+00:00 1 1 1 1 None None
28 3rm9aOzL BFXPipeline all lamin 1.0.0 False True Bioinformatics Pipeline s3://bionty-assets/df_all__lamin__1.0.0__BFXpi... None https://lamin.ai False 2026-02-19 11:05:36.425000+00:00 1 1 1 1 None None

Auto-complete records

For registries with less than 100k records, auto-completing a Lookup object is the most convenient way of finding a record.

records = ln.Record.lookup()

With auto-complete, we find a record:

experiment_1 = records.experiment_1
experiment_1
Hide code cell output
Record(uid='QcxrEWQPMIJEzqE5', is_type=False, name='Experiment 1', description=None, reference=None, reference_type=None, extra_data=None, branch_id=1, created_on_id=1, space_id=1, created_by_id=1, type_id=None, schema_id=None, run_id=1, created_at=2026-02-19 11:05:41 UTC, is_locked=False)

This works for any SQLRecord registry, e.g., also for plugin bionty.

import bionty as bt

cell_types = bt.CellType.lookup()
Show me a screenshot

Get one record

get() errors if none or more than one matching records are found.

ln.Record.get(experiment_1.uid)  # by uid
ln.Record.get(name="Experiment 1")  # by field
Hide code cell output
Record(uid='QcxrEWQPMIJEzqE5', is_type=False, name='Experiment 1', description=None, reference=None, reference_type=None, extra_data=None, branch_id=1, created_on_id=1, space_id=1, created_by_id=1, type_id=None, schema_id=None, run_id=1, created_at=2026-02-19 11:05:41 UTC, is_locked=False)

Query records by fields

Filter for all artifacts annotated by a record and get the result as a dataframe:

qs = ln.Artifact.filter(suffix=".fastq.qz")

filter() returns a QuerySet.

To access the results encoded in a filter statement, execute its return value with one of:

  • to_dataframe(): A pandas DataFrame with each record in a row.

  • one(): Exactly one record. Will raise an error if there is none. Is equivalent to the .get() method shown above.

  • one_or_none(): Either one record or None if there is no query result.

Alternatively,

  • use the QuerySet as an iterator

  • get individual records via qs[0], qs[1]

For example:

qs.to_dataframe()
Hide code cell output
uid id key description suffix kind otype size hash n_files ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id

0 rows × 22 columns

Note that the SQLRecord registries in LaminDB are Django Models and any Django query works.

Query records by features

The Artifact, Record, and Run registries can be queried by features.

ln.Artifact.filter(perturbation="DMSO").to_dataframe(include="features")
Hide code cell output
 queried for all categorical features of dtypes Record or ULabel and non-categorical features: (7) ['perturbation', 'sample_note', 'temperature', 'experiment', 'date_of_study', 'study_note', 'study_metadata']
uid key perturbation temperature experiment date_of_study study_note study_metadata
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad {IFNG, DMSO} 22.6 Experiment 2 2025-02-13 NaN {'detail1': '456', 'detail2': 2}
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad {IFNG, DMSO} 21.6 Experiment 1 2024-12-01 We had a great time performing this study and ... {'detail1': '123', 'detail2': 1}

You can also query for nested dictionary-like features.

ln.Artifact.filter(study_metadata__detail1="123").to_dataframe(include="features")
Hide code cell output
 queried for all categorical features of dtypes Record or ULabel and non-categorical features: (7) ['perturbation', 'sample_note', 'temperature', 'experiment', 'date_of_study', 'study_note', 'study_metadata']
uid key perturbation temperature experiment date_of_study study_note study_metadata
id
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad {IFNG, DMSO} 21.6 Experiment 1 2024-12-01 We had a great time performing this study and ... {'detail1': '123', 'detail2': 1}
ln.Artifact.filter(study_metadata__detail2=2).to_dataframe(include="features")
Hide code cell output
 queried for all categorical features of dtypes Record or ULabel and non-categorical features: (7) ['perturbation', 'sample_note', 'temperature', 'experiment', 'date_of_study', 'study_note', 'study_metadata']
uid key perturbation temperature experiment date_of_study study_metadata
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad {IFNG, DMSO} 22.6 Experiment 2 2025-02-13 {'detail1': '456', 'detail2': 2}

You can query for whether a dataset is annotated or not annotated by a feature.

ln.Artifact.filter(perturbation__isnull=True).to_dataframe(include="features")
Hide code cell output
 queried for all categorical features of dtypes Record or ULabel and non-categorical features: (7) ['perturbation', 'sample_note', 'temperature', 'experiment', 'date_of_study', 'study_note', 'study_metadata']
uid key
id
3 3eih8V8EhGnc6qcW0000 iris.parquet
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz
ln.Artifact.filter(perturbation__isnull=False).to_dataframe(include="features")
Hide code cell output
 queried for all categorical features of dtypes Record or ULabel and non-categorical features: (7) ['perturbation', 'sample_note', 'temperature', 'experiment', 'date_of_study', 'study_note', 'study_metadata']
uid key perturbation temperature experiment date_of_study study_note study_metadata
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad {IFNG, DMSO} 22.6 Experiment 2 2025-02-13 NaN {'detail1': '456', 'detail2': 2}
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad {IFNG, DMSO} 21.6 Experiment 1 2024-12-01 We had a great time performing this study and ... {'detail1': '123', 'detail2': 1}

Query runs by parameters

Here is an example for querying by parameters: Track parameters & features.

Search for records

You can search every registry via search(). For example, the Artifact registry.

ln.Artifact.search("iris").to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
3 3eih8V8EhGnc6qcW0000 iris.parquet None .parquet dataset DataFrame 5202 WCj2rqgC6qkZiG-hoDVJvw None 150 ... True False 2026-02-19 11:05:40.688000+00:00 1 1 1 1 1 None 1

1 rows × 21 columns

Here is more background on search and examples for searching the entire cell type ontology: How does search work?

Filter operators

You can qualify the type of comparison in a query by using a comparator.

Below follows a list of the most import, but Django supports about two dozen field comparators field__comparator=value.

and

ln.Artifact.filter(suffix=".h5ad", records=experiment_1).to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3 1

1 rows × 21 columns

less than/ greater than

Or subset to artifacts greater than 10kB. Here, we can’t use keyword arguments, but need an explicit where statement.

ln.Artifact.filter(records=experiment_1, size__gt=1e4).to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3 1

1 rows × 21 columns

in

ln.Artifact.filter(suffix__in=[".jpg", ".fastq.gz"]).to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg None .jpg None None 29358 r4tnqmKI_SjrkdLzpuWp4g None None ... True False 2026-02-19 11:05:40.581000+00:00 1 1 1 1 1 None 1
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None None ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 None 1

2 rows × 21 columns

order by

ln.Artifact.filter().order_by("created_at").to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None NaN ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 NaN 1
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg None .jpg None None 29358 r4tnqmKI_SjrkdLzpuWp4g None NaN ... True False 2026-02-19 11:05:40.581000+00:00 1 1 1 1 1 NaN 1
3 3eih8V8EhGnc6qcW0000 iris.parquet None .parquet dataset DataFrame 5202 WCj2rqgC6qkZiG-hoDVJvw None 150.0 ... True False 2026-02-19 11:05:40.688000+00:00 1 1 1 1 1 NaN 1
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3.0 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3.0 1
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad None .h5ad dataset AnnData 26896 RKJjWbINYNIwYU8BxCejMw None 3.0 ... True False 2026-02-19 11:05:48.382000+00:00 1 1 1 1 1 3.0 1

5 rows × 21 columns

# reverse ordering
ln.Artifact.filter().order_by("-created_at").to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad None .h5ad dataset AnnData 26896 RKJjWbINYNIwYU8BxCejMw None 3.0 ... True False 2026-02-19 11:05:48.382000+00:00 1 1 1 1 1 3.0 1
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3.0 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3.0 1
3 3eih8V8EhGnc6qcW0000 iris.parquet None .parquet dataset DataFrame 5202 WCj2rqgC6qkZiG-hoDVJvw None 150.0 ... True False 2026-02-19 11:05:40.688000+00:00 1 1 1 1 1 NaN 1
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg None .jpg None None 29358 r4tnqmKI_SjrkdLzpuWp4g None NaN ... True False 2026-02-19 11:05:40.581000+00:00 1 1 1 1 1 NaN 1
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None NaN ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 NaN 1

5 rows × 21 columns

ln.Artifact.filter().order_by("key").to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3.0 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3.0 1
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad None .h5ad dataset AnnData 26896 RKJjWbINYNIwYU8BxCejMw None 3.0 ... True False 2026-02-19 11:05:48.382000+00:00 1 1 1 1 1 3.0 1
3 3eih8V8EhGnc6qcW0000 iris.parquet None .parquet dataset DataFrame 5202 WCj2rqgC6qkZiG-hoDVJvw None 150.0 ... True False 2026-02-19 11:05:40.688000+00:00 1 1 1 1 1 NaN 1
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg None .jpg None None 29358 r4tnqmKI_SjrkdLzpuWp4g None NaN ... True False 2026-02-19 11:05:40.581000+00:00 1 1 1 1 1 NaN 1
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None NaN ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 NaN 1

5 rows × 21 columns

# reverse ordering
ln.Artifact.filter().order_by("-key").to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None NaN ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 NaN 1
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg None .jpg None None 29358 r4tnqmKI_SjrkdLzpuWp4g None NaN ... True False 2026-02-19 11:05:40.581000+00:00 1 1 1 1 1 NaN 1
3 3eih8V8EhGnc6qcW0000 iris.parquet None .parquet dataset DataFrame 5202 WCj2rqgC6qkZiG-hoDVJvw None 150.0 ... True False 2026-02-19 11:05:40.688000+00:00 1 1 1 1 1 NaN 1
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad None .h5ad dataset AnnData 26896 RKJjWbINYNIwYU8BxCejMw None 3.0 ... True False 2026-02-19 11:05:48.382000+00:00 1 1 1 1 1 3.0 1
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3.0 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3.0 1

5 rows × 21 columns

contains

ln.Transform.filter(description__contains="search").to_dataframe().head(5)
Hide code cell output
uid key description kind source_code hash reference reference_type version_tag is_latest is_locked created_at branch_id created_on_id space_id environment_id plan_id created_by_id
id
1 fdwArO9WXdyM0000 registries.ipynb Query & search registries [![.md](https://img.... notebook None None None None None True False 2026-02-19 11:05:38.706000+00:00 1 1 1 None None 1

And case-insensitive:

ln.Transform.filter(description__icontains="Search").to_dataframe().head(5)
Hide code cell output
uid key description kind source_code hash reference reference_type version_tag is_latest is_locked created_at branch_id created_on_id space_id environment_id plan_id created_by_id
id
1 fdwArO9WXdyM0000 registries.ipynb Query & search registries [![.md](https://img.... notebook None None None None None True False 2026-02-19 11:05:38.706000+00:00 1 1 1 None None 1

startswith

ln.Transform.filter(description__startswith="Query").to_dataframe()
Hide code cell output
uid key description kind source_code hash reference reference_type version_tag is_latest is_locked created_at branch_id created_on_id space_id environment_id plan_id created_by_id
id
1 fdwArO9WXdyM0000 registries.ipynb Query & search registries [![.md](https://img.... notebook None None None None None True False 2026-02-19 11:05:38.706000+00:00 1 1 1 None None 1

or

ln.Artifact.filter(ln.Q(suffix=".jpg") | ln.Q(suffix=".fastq.gz")).to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
2 TQgA3Vwo7FU4JLcC0000 my_image.jpg None .jpg None None 29358 r4tnqmKI_SjrkdLzpuWp4g None None ... True False 2026-02-19 11:05:40.581000+00:00 1 1 1 1 1 None 1
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None None ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 None 1

2 rows × 21 columns

negate/ unequal

ln.Artifact.filter(~ln.Q(suffix=".jpg")).to_dataframe()
Hide code cell output
uid key description suffix kind otype size hash n_files n_observations ... is_latest is_locked created_at branch_id created_on_id space_id storage_id run_id schema_id created_by_id
id
5 XhlDQaca1rPxc8qV0000 examples/dataset2.h5ad None .h5ad dataset AnnData 26896 RKJjWbINYNIwYU8BxCejMw None 3.0 ... True False 2026-02-19 11:05:48.382000+00:00 1 1 1 1 1 3.0 1
4 jAy24PishcVTzlmR0000 examples/dataset1.h5ad None .h5ad dataset AnnData 31672 FB3CeMjmg1ivN6HDy6wsSg None 3.0 ... True False 2026-02-19 11:05:45.632000+00:00 1 1 1 1 1 3.0 1
3 3eih8V8EhGnc6qcW0000 iris.parquet None .parquet dataset DataFrame 5202 WCj2rqgC6qkZiG-hoDVJvw None 150.0 ... True False 2026-02-19 11:05:40.688000+00:00 1 1 1 1 1 NaN 1
1 4WWR0qf0GHxvLuSH0000 raw/my_fastq.fastq.gz None .fastq.gz None None 20 hi7ZmAzz8sfMd3vIQr-57Q None NaN ... True False 2026-02-19 11:05:40.441000+00:00 1 1 1 1 1 NaN 1

4 rows × 21 columns