lamindb.core.LabelManager#

class lamindb.core.LabelManager(host)#

Bases: object

Label manager (labels).

This allows to manage untyped labels ULabel and arbitrary typed labels (e.g., CellLine) and associate labels with features.

See Data for more information.

Attributes

Methods

add(records, feature=None)#

Add one or several labels and associate them with a feature.

Parameters:
  • records (Registry | list[Registry] | QuerySet) – Label records to add.

  • feature (Optional[Feature], default: None) – Feature under which to group the labels.

  • field – Field to parse iterable with from_values.

Return type:

None

add_from(data, parents=True)#

Transfer labels from a file or collection.

Examples

>>> file1 = ln.Artifact(pd.DataFrame(index=[0, 1]))
>>> file1.save()
>>> file2 = ln.Artifact(pd.DataFrame(index=[2, 3]))
>>> file2.save()
>>> ulabels = ln.ULabel.from_values(["Label1", "Label2"], field="name")
>>> ln.save(ulabels)
>>> labels = ln.ULabel.filter(name__icontains = "label").all()
>>> file1.ulabels.set(labels)
>>> file2.labels.add_from(file1)
get(feature, mute=False, flat_names=False)#

Get labels given a feature.

Parameters:
  • feature (Feature) – Feature under which labels are grouped.

  • mute (bool, default: False) – Show no logging.

  • flat_names (bool, default: False) – Flatten list to names rather than returning records.

Return type:

QuerySet | dict[str, QuerySet] | list