Can I disable tracking run inputs?
¶
Yes, if you switch track_run_inputs to False.
# pip install lamindb
!lamin init --storage test-run-inputs
Show code cell output
→ initialized lamindb: testuser1/test-run-inputs
import lamindb as ln
Show code cell output
→ connected lamindb: testuser1/test-run-inputs
Some test artifacts:
ln.track(transform=ln.Transform(key="Dummpy pipeline"))
ln.Artifact(ln.examples.datasets.file_jpg_paradisi05(), description="My image").save()
ln.Artifact(ln.examples.datasets.file_mini_csv(), description="My csv").save()
Show code cell output
→ created Transform('T3MY9YO0FqRT0000', key='Dummpy pipeline'), started new Run('EqZtfiV33uMpeZTi') at 2026-02-03 17:29:52 UTC
! data is a DataFrame, please use .from_dataframe()
Artifact(uid='Pzn4i5trBml6YAbm0000', version_tag=None, is_latest=True, key=None, description='My csv', suffix='.csv', kind=None, otype='DataFrame', size=11, hash='z1LdF2qN4cN0M2sXrcW8aw', n_files=None, n_observations=None, branch_id=1, space_id=1, storage_id=3, run_id=1, schema_id=None, created_by_id=3, created_at=2026-02-03 17:29:54 UTC, is_locked=False)
Call ln.track():
ln.track("Rx2s9aPTMQLY0000")
Show code cell output
→ created Transform('Rx2s9aPTMQLY0000', key='track-run-inputs.ipynb'), started new Run('qR7yB5UghJv3hPEN') at 2026-02-03 17:29:55 UTC
→ notebook imports: lamindb==2.1.0
Don’t track artifact as run input¶
ln.settings.track_run_inputs = False
artifact = ln.Artifact.get(description="My image")
artifact.cache()
Show code cell output
PosixUPath('/home/runner/work/lamindb/lamindb/docs/faq/test-run-inputs/.lamindb/8gP0vLLaHzwLAqm60000.jpg')
No run inputs are linked to the current notebook run:
ln.Run.get(id=ln.context.run.id).input_artifacts.all()
Show code cell output
<ArtifactBasicQuerySet []>
artifact.view_lineage()
Show code cell output
assert len(ln.Run.get(id=ln.context.run.id).input_artifacts.all()) == 0
Manually track artifact as run input¶
Let us manually track an artifact by passing is_run_input to either .cache(), .load() or .open():
artifact.cache(is_run_input=True)
Show code cell output
PosixUPath('/home/runner/work/lamindb/lamindb/docs/faq/test-run-inputs/.lamindb/8gP0vLLaHzwLAqm60000.jpg')
You can see the fcs artifact is now being added to the run inputs:
for input in ln.Run.get(id=ln.context.run.id).input_artifacts.all():
print(input)
Show code cell output
Artifact(uid='8gP0vLLaHzwLAqm60000', version_tag=None, is_latest=True, key=None, description='My image', suffix='.jpg', kind=None, otype=None, size=29358, hash='r4tnqmKI_SjrkdLzpuWp4g', n_files=None, n_observations=None, branch_id=1, space_id=1, storage_id=3, run_id=1, schema_id=None, created_by_id=3, created_at=2026-02-03 17:29:54 UTC, is_locked=False)
artifact.view_lineage()
Show code cell output
assert len(ln.Run.get(id=ln.context.run.id).input_artifacts.all()) == 1
Automatically track artifacts as run input¶
If you switch the following setting, and call to .load(), .cache() and .open() will track the artifact as run input.
ln.settings.track_run_inputs = True
artifact = ln.Artifact.get(description="My csv")
artifact.load()
Show code cell output
| test | |
|---|---|
| 0 | 1 |
| 1 | 2 |
| 2 | 3 |
for input in ln.Run.get(id=ln.context.run.id).input_artifacts.all():
print(input)
Show code cell output
Artifact(uid='8gP0vLLaHzwLAqm60000', version_tag=None, is_latest=True, key=None, description='My image', suffix='.jpg', kind=None, otype=None, size=29358, hash='r4tnqmKI_SjrkdLzpuWp4g', n_files=None, n_observations=None, branch_id=1, space_id=1, storage_id=3, run_id=1, schema_id=None, created_by_id=3, created_at=2026-02-03 17:29:54 UTC, is_locked=False)
Artifact(uid='Pzn4i5trBml6YAbm0000', version_tag=None, is_latest=True, key=None, description='My csv', suffix='.csv', kind=None, otype='DataFrame', size=11, hash='z1LdF2qN4cN0M2sXrcW8aw', n_files=None, n_observations=None, branch_id=1, space_id=1, storage_id=3, run_id=1, schema_id=None, created_by_id=3, created_at=2026-02-03 17:29:54 UTC, is_locked=False)
artifact.view_lineage()
Show code cell output
assert len(ln.Run.get(id=ln.context.run.id).input_artifacts.all()) == 2
!lamin delete --force test-run-inputs
Show code cell output
╭─ Error ──────────────────────────────────────────────────────────────────────╮
│ '/home/runner/work/lamindb/lamindb/docs/faq/test-run-inputs/.lamindb' │
│ contains 2 objects: │
│ /home/runner/work/lamindb/lamindb/docs/faq/test-run-inputs/.lamindb/8gP0vLLa │
│ HzwLAqm60000.jpg │
│ /home/runner/work/lamindb/lamindb/docs/faq/test-run-inputs/.lamindb/Pzn4i5tr │
│ Bml6YAbm0000.csv │
│ delete them prior to deleting the storage location │
╰──────────────────────────────────────────────────────────────────────────────╯