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 HasFeatures for more information.

Methods

add(records, feature=None)

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

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

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

Return type:

None

add_from(data)

Add labels from an artifact or collection to another artifact or collection.

Return type:

None

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