Can I disable tracking run inputs?¶
Yes, if you switch track_run_inputs
to False
.
# !pip install 'lamindb[jupyter]'
!lamin init --storage test-run-inputs
Show code cell output
→ initialized lamindb: testuser1/test-run-inputs
import lamindb as ln
→ connected lamindb: testuser1/test-run-inputs
Some test artifacts:
ln.context.track(transform=ln.Transform(name="Dummpy pipeline"))
ln.Artifact(ln.core.datasets.file_jpg_paradisi05(), description="My image").save()
ln.Artifact(ln.core.datasets.file_mini_csv(), description="My csv").save()
/tmp/ipykernel_3599/418957412.py:1: FutureWarning: `name` will be removed soon, please pass 'Dummpy pipeline' to `key` instead
ln.context.track(transform=ln.Transform(name="Dummpy pipeline"))
→ created Transform('RMKWJwlrPWrq0000'), started new Run('iaivt8FX...') at 2025-01-12 14:07:51 UTC
Artifact(uid='zGctY4BoIQZ7buAT0000', is_latest=True, description='My csv', suffix='.csv', size=11, hash='z1LdF2qN4cN0M2sXrcW8aw', space_id=1, storage_id=1, run_id=1, created_by_id=1, created_at=2025-01-12 14:07:53 UTC)
Call ln.track()
:
ln.track("Rx2s9aPTMQLY0000")
Don’t track artifact as run input¶
ln.settings.track_run_inputs = False
artifact = ln.Artifact.get(description="My image")
artifact.cache()
PosixUPath('/home/runner/work/lamindb/lamindb/docs/faq/test-run-inputs/.lamindb/Geb5cX9J7S788x8j0000.jpg')
No run inputs are linked to the current notebook run:
ln.Run.get(id=ln.context.run.id).input_artifacts.all()
<QuerySet []>
artifact.view_lineage()
Show code cell content
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)
PosixUPath('/home/runner/work/lamindb/lamindb/docs/faq/test-run-inputs/.lamindb/Geb5cX9J7S788x8j0000.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)
artifact.view_lineage()
Show code cell content
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()
test | |
---|---|
0 | 1 |
1 | 2 |
2 | 3 |
for input in ln.Run.get(id=ln.context.run.id).input_artifacts.all():
print(input)
artifact.view_lineage()
Show code cell content
assert len(ln.Run.get(id=ln.context.run.id).input_artifacts.all()) == 2
Show code cell content
!lamin delete --force test-run-inputs