Redun¶
Here, we’ll see how to track redun workflow runs with LaminDB.
Note
This use case is based on github.com/ricomnl/bioinformatics-pipeline-tutorial.
# pip install lamindb redun git+http://github.com/laminlabs/redun-lamin-fasta
!lamin init --storage ./test-redun-lamin
Show code cell output
→ initialized lamindb: testuser1/test-redun-lamin
Amend the workflow¶
import lamindb as ln
import json
Show code cell output
→ connected lamindb: testuser1/test-redun-lamin
Let’s amend a redun workflow.py
to register input & output artifacts in LaminDB:
To track the workflow run in LaminDB, add (see on GitHub):
ln.track(params=params)
To register the output file via LaminDB, add (see on GitHub):
ln.Artifact(output_path, description="results").save()
Run redun¶
Let’s see what the input files are:
!ls ./fasta
Show code cell output
KLF4.fasta MYC.fasta PO5F1.fasta SOX2.fasta
And call the workflow:
!redun run workflow.py main --input-dir ./fasta --tag run=test-run 1> run_logs.txt 2>run_logs.txt
Inspect the logs:
!cat run_logs.txt
Show code cell output
→ connected lamindb: testuser1/test-redun-lamin
→ created Transform('kTPvOgmW7yy90000'), started new Run('X7rORiiE...') at 2025-07-21 09:16:29 UTC
→ params: input_dir=./fasta, amino_acid=C, enzyme_regex=[KR], missed_cleavages=0, min_length=4, max_length=75, executor=Executor.default
• recommendation: to identify the script across renames, pass the uid: ln.track("kTPvOgmW7yy9", params={...})
! folder i[redun] Run Job d6690333: bioinformatics_pipeline_tutorial.lib.digest_protein_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/dPMqjFEq7KWDaiq40000.fasta, hash=6fd0e556), enzyme_regex='[KR]', missed_cleavages=0, min_length=4, mFile(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/results.tgz, hash=c0980259)
task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/rvCDbk9X7bUTSiao0000.fasta, hash=5c94ab0e), enzyme_regex='[KR]', missed_cleavages=0, min_length=4, max_length=75) on default
[redun] Run Job 6e47e699: bioinformatics_pipeline_tutorial.lib.digest_protein_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/n8YL5B9Gy8NDqx6y0000.fasta, hash=a0ce4a4f), enzyme_regex='[KR]', missed_cleavages=0, min_length=4, max_length=75) on default
[redun] Run Job 8aa9c2f1: bioinformatics_pipeline_tutorial.lib.digest_protein_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/UTC6HREaECbZp8IA0000.fasta, hash=67b36590), enzyme_regex='[KR]', missed_cleavages=0, min_length=4, max_length=75) on default
[redun] Run Job 444055c9: bioinformatics_pipeline_tutorial.lib.count_amino_acids_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/dPMqjFEq7KWDaiq40000.fasta, hash=6fd0e556), input_peptides=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/dPMqjFEq7KWDaiq40000.peptides.txt, hash=699be7cc), amino_acid='C') on default
[redun] Run Job 5d19373c: bioinformatics_pipeline_tutorial.lib.count_amino_acids_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/rvCDbk9X7bUTSiao0000.fasta, hash=5c94ab0e), input_peptides=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/rvCDbk9X7bUTSiao0000.peptides.txt, hash=aa3d9ea0), amino_acid='C') on default
[redun] Run Job 3b5ff0e7: bioinformatics_pipeline_tutorial.lib.count_amino_acids_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/n8YL5B9Gy8NDqx6y0000.fasta, hash=a0ce4a4f), input_peptides=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/n8YL5B9Gy8NDqx6y0000.peptides.txt, hash=fc98f0ed), amino_acid='C') on default
[redun] Run Job 651339d9: bioinformatics_pipeline_tutorial.lib.count_amino_acids_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/UTC6HREaECbZp8IA0000.fasta, hash=67b36590), input_peptides=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/UTC6HREaECbZp8IA0000.peptides.txt, hash=a8316eea), amino_acid='C') on default
[redun] Run Job 26e057cc: bioinformatics_pipeline_tutorial.lib.plot_count_task(input_count=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/dPMqjFEq7KWDaiq40000.count.tsv, hash=a6359893)) on default
[redun] Run Job 87279d24: bioinformatics_pipeline_tutorial.lib.plot_count_task(input_count=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/rvCDbk9X7bUTSiao0000.count.tsv, hash=a317e594)) on default
[redun] Run Job 14b7bf98: bioinformatics_pipeline_tutorial.lib.plot_count_task(input_count=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/n8YL5B9Gy8NDqx6y0000.count.tsv, hash=4e885b55)) on default
[redun] Run Job 049e5401: bioinformatics_pipeline_tutorial.lib.plot_count_task(input_count=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/UTC6HREaECbZp8IA0000.count.tsv, hash=ae70e5c2)) on default
[redun] Run Job f07ebe23: bioinformatics_pipeline_tutorial.lib.get_report_task(input_counts=[File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/dPMqjFEq7KWDaiq40000.count.tsv, hash=a6359893), File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-l...) on default
[redun] Run Job cc1bdf48: bioinformatics_pipeline_tutorial.lib.archive_results_task(inputs_plots=[File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/dPMqjFEq7KWDaiq40000.plot.png, hash=296e3118), File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-la..., input_report=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/protein_report.tsv, hash=6873d838)) on default
INFO redun:scheduler.py:log()- Run Job cc1bdf48: bioinformatics_pipeline_tutorial.lib.archive_results_task(inputs_plots=[File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/dPMqjFEq7KWDaiq40000.plot.png, hash=296e3118), File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-la..., input_report=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/protein_report.tsv, hash=6873d838)) on default
[redun] Run Job 589d5b97: redun_lamin_fasta.finish(results_archive=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/results.tgz, hash=c0980259)) on default
INFO redun:scheduler.py:log()- Run Job 589d5b97: redun_lamin_fasta.finish(results_archive=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/results.tgz, hash=c0980259)) on default
[redun]
INFO redun:scheduler.py:log()-
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1301, in log_job_statuses
self.log()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: ''
Arguments: ()
[redun] | JOB STATUS 2025/07/21 09:16:43
INFO redun:scheduler.py:log()- | JOB STATUS 2025/07/21 09:16:43
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| JOB STATUS 2025/07/21 09:16:43'
Arguments: ()
[redun] | TASK PENDING RUNNING FAILED CACHED DONE TOTAL
INFO redun:scheduler.py:log()- | TASK PENDING RUNNING FAILED CACHED DONE TOTAL
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| TASK PENDING RUNNING FAILED CACHED DONE TOTAL'
Arguments: ()
[redun] |
INFO redun:scheduler.py:log()- |
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| '
Arguments: ()
[redun] | ALL 0 0 0 0 16 16
INFO redun:scheduler.py:log()- | ALL 0 0 0 0 16 16
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| ALL 0 0 0 0 16 16'
Arguments: ()
[redun] | bioinformatics_pipeline_tutorial.lib.archive_results_task 0 0 0 0 1 1
INFO redun:scheduler.py:log()- | bioinformatics_pipeline_tutorial.lib.archive_results_task 0 0 0 0 1 1
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| bioinformatics_pipeline_tutorial.lib.archive_results_task 0 0 0 0 1 1'
Arguments: ()
[redun] | bioinformatics_pipeline_tutorial.lib.count_amino_acids_task 0 0 0 0 4 4
INFO redun:scheduler.py:log()- | bioinformatics_pipeline_tutorial.lib.count_amino_acids_task 0 0 0 0 4 4
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| bioinformatics_pipeline_tutorial.lib.count_amino_acids_task 0 0 0 0 4 4'
Arguments: ()
[redun] | bioinformatics_pipeline_tutorial.lib.digest_protein_task 0 0 0 0 4 4
INFO redun:scheduler.py:log()- | bioinformatics_pipeline_tutorial.lib.digest_protein_task 0 0 0 0 4 4
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| bioinformatics_pipeline_tutorial.lib.digest_protein_task 0 0 0 0 4 4'
Arguments: ()
[redun] | bioinformatics_pipeline_tutorial.lib.get_report_task 0 0 0 0 1 1
INFO redun:scheduler.py:log()- | bioinformatics_pipeline_tutorial.lib.get_report_task 0 0 0 0 1 1
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| bioinformatics_pipeline_tutorial.lib.get_report_task 0 0 0 0 1 1'
Arguments: ()
[redun] | bioinformatics_pipeline_tutorial.lib.plot_count_task 0 0 0 0 4 4
INFO redun:scheduler.py:log()- | bioinformatics_pipeline_tutorial.lib.plot_count_task 0 0 0 0 4 4
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| bioinformatics_pipeline_tutorial.lib.plot_count_task 0 0 0 0 4 4'
Arguments: ()
[redun] | redun_lamin_fasta.finish 0 0 0 0 1 1
INFO redun:scheduler.py:log()- | redun_lamin_fasta.finish 0 0 0 0 1 1
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| redun_lamin_fasta.finish 0 0 0 0 1 1'
Arguments: ()
[redun] | redun_lamin_fasta.main 0 0 0 0 1 1
INFO redun:scheduler.py:log()- | redun_lamin_fasta.main 0 0 0 0 1 1
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: '| redun_lamin_fasta.main 0 0 0 0 1 1'
Arguments: ()
[redun]
INFO redun:scheduler.py:log()-
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1303, in log_job_statuses
self.log(report_line)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: ''
Arguments: ()
[redun]
INFO redun:scheduler.py:log()-
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1078, in _run
self._process_events(result)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1282, in _process_events
self.log_job_statuses()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1304, in log_job_statuses
self.log()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: ''
Arguments: ()
[redun] Execution duration: 13.82 seconds
INFO redun:scheduler.py:log()- Execution duration: 13.82 seconds
--- Logging error ---
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/logging/__init__.py", line 1163, in emit
stream.write(msg + self.terminator)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/lamindb/core/_context.py", line 120, in write
self.file.write(data)
ValueError: I/O operation on closed file.
Call stack:
File "/opt/hostedtoolcache/Python/3.12.11/x64/bin/redun", line 10, in <module>
client.execute()
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 921, in execute
return args.func(args, extra_args, argv)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/cli.py", line 1618, in run_command
result = scheduler.run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1164, in run
result: Promise[Result] = self._run(
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1082, in _run
self.log(f"Execution duration: {duration:.2f} seconds")
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/redun/scheduler.py", line 1028, in log
self.logger.log(level, (" " * indent) + line)
Message: 'Execution duration: 13.82 seconds'
Arguments: ()
View data lineage:
artifact = ln.Artifact.get(key="data/results.tgz")
artifact.view_lineage()
Show code cell output
Track the redun execution id¶
If we want to be able to query LaminDB for redun execution ID, this here is a way to get it:
# export the run information from redun
!redun log --exec --exec-tag run=test-run --format json --no-pager > redun_exec.json
# load the redun execution id from the JSON and store it in the LaminDB run record
with open("redun_exec.json") as file:
redun_exec = json.loads(file.readline())
artifact.run.reference = redun_exec["id"]
artifact.run.reference_type = "redun_id"
artifact.run.save()
Run(uid='X7rORiiEAx7IXi7f', started_at=2025-07-21 09:16:29 UTC, finished_at=2025-07-21 09:16:43 UTC, reference='87d91bea-4ddf-4684-b185-7ca4944d44e2', reference_type='redun_id', branch_id=1, space_id=1, transform_id=1, report_id=7, environment_id=1, created_by_id=1, created_at=2025-07-21 09:16:29 UTC)
Track the redun run report¶
Attach a run report:
report = ln.Artifact(
"run_logs.txt",
description=f"Redun run report of {redun_exec['id']}",
run=False,
visibility=0,
).save()
artifact.run.report = report
artifact.run.save()
Run(uid='X7rORiiEAx7IXi7f', started_at=2025-07-21 09:16:29 UTC, finished_at=2025-07-21 09:16:43 UTC, reference='87d91bea-4ddf-4684-b185-7ca4944d44e2', reference_type='redun_id', branch_id=1, space_id=1, transform_id=1, report_id=8, environment_id=1, created_by_id=1, created_at=2025-07-21 09:16:29 UTC)
View transforms and runs in LaminHub¶

View the database content¶
ln.view()
Show code cell output
Artifact
uid | key | description | suffix | kind | otype | size | hash | n_files | n_observations | _hash_type | _key_is_virtual | _overwrite_versions | space_id | storage_id | schema_id | version | is_latest | run_id | created_at | created_by_id | _aux | branch_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | |||||||||||||||||||||||
8 | TIlpZDYiLxEG8uU40000 | None | Redun run report of 87d91bea-4ddf-4684-b185-7c... | .txt | None | None | 33584 | BZg_WASMTkWFIku1Q45-6w | None | None | md5 | True | False | 1 | 1 | None | None | True | NaN | 2025-07-21 09:16:48.094000+00:00 | 1 | {'af': {'0': True}} | 1 |
6 | lJE9eWJWCDNWfETP0000 | data/results.tgz | None | .tgz | None | None | 68914 | SJ8t9vtMtFO8GKFB9xbuZg | None | None | md5 | False | False | 1 | 1 | None | None | True | 1.0 | 2025-07-21 09:16:42.959000+00:00 | 1 | None | 1 |
5 | UTC6HREaECbZp8IA0000 | fasta/PO5F1.fasta | None | .fasta | None | None | 477 | -7iJgveFO9ia0wE1bqVu6g | None | None | md5 | True | False | 1 | 1 | None | None | True | NaN | 2025-07-21 09:16:32.428000+00:00 | 1 | {'af': {'0': True}} | 1 |
4 | n8YL5B9Gy8NDqx6y0000 | fasta/MYC.fasta | None | .fasta | None | None | 536 | WGbEtzPw-3bQEGcngO_pHQ | None | None | md5 | True | False | 1 | 1 | None | None | True | NaN | 2025-07-21 09:16:32.427000+00:00 | 1 | {'af': {'0': True}} | 1 |
2 | dPMqjFEq7KWDaiq40000 | fasta/KLF4.fasta | None | .fasta | None | None | 609 | LyuoYkWs4SgYcH7P7JLJtA | None | None | md5 | True | False | 1 | 1 | None | None | True | NaN | 2025-07-21 09:16:32.426000+00:00 | 1 | {'af': {'0': True}} | 1 |
3 | rvCDbk9X7bUTSiao0000 | fasta/SOX2.fasta | None | .fasta | None | None | 414 | C5q_yaFXGk4SAEpfdqBwnQ | None | None | md5 | True | False | 1 | 1 | None | None | True | NaN | 2025-07-21 09:16:32.426000+00:00 | 1 | {'af': {'0': True}} | 1 |
Feature
uid | name | dtype | is_type | unit | description | array_rank | array_size | array_shape | proxy_dtype | synonyms | _expect_many | _curation | space_id | type_id | run_id | created_at | created_by_id | _aux | branch_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | ||||||||||||||||||||
1 | XaZx4iXZQFPF | input_dir | str | None | None | None | 0 | 0 | None | None | None | None | None | 1 | None | None | 2025-07-21 09:16:29.661000+00:00 | 1 | {'af': {'0': None, '1': True, '2': False}} | 1 |
2 | SdZBxT2n8JYC | amino_acid | str | None | None | None | 0 | 0 | None | None | None | None | None | 1 | None | None | 2025-07-21 09:16:29.661000+00:00 | 1 | {'af': {'0': None, '1': True, '2': False}} | 1 |
3 | HNSkQMC916wJ | enzyme_regex | str | None | None | None | 0 | 0 | None | None | None | None | None | 1 | None | None | 2025-07-21 09:16:29.661000+00:00 | 1 | {'af': {'0': None, '1': True, '2': False}} | 1 |
4 | 4GKTvP6KY2Wn | missed_cleavages | int | None | None | None | 0 | 0 | None | None | None | None | None | 1 | None | None | 2025-07-21 09:16:29.661000+00:00 | 1 | {'af': {'0': None, '1': True, '2': False}} | 1 |
5 | 1R53HXNn6p3S | min_length | int | None | None | None | 0 | 0 | None | None | None | None | None | 1 | None | None | 2025-07-21 09:16:29.661000+00:00 | 1 | {'af': {'0': None, '1': True, '2': False}} | 1 |
6 | Mz1GxLJI54X9 | max_length | int | None | None | None | 0 | 0 | None | None | None | None | None | 1 | None | None | 2025-07-21 09:16:29.661000+00:00 | 1 | {'af': {'0': None, '1': True, '2': False}} | 1 |
7 | tOMy4WYZ2ztM | executor | str | None | None | None | 0 | 0 | None | None | None | None | None | 1 | None | None | 2025-07-21 09:16:29.661000+00:00 | 1 | {'af': {'0': None, '1': True, '2': False}} | 1 |
FeatureValue
value | hash | space_id | feature_id | run_id | created_at | created_by_id | _aux | branch_id | |
---|---|---|---|---|---|---|---|---|---|
id | |||||||||
1 | ./fasta | G8diGhDfCu78R1WbXfsHOw | 1 | 1 | None | 2025-07-21 09:16:29.702000+00:00 | 1 | None | 1 |
2 | C | DWH4NwytHUEvgLhNFD4SVw | 1 | 2 | None | 2025-07-21 09:16:29.706000+00:00 | 1 | None | 1 |
3 | [KR] | zPuapwAPylpfWRQFOTw9Cg | 1 | 3 | None | 2025-07-21 09:16:29.710000+00:00 | 1 | None | 1 |
4 | 0 | z80ghJXVZe9m59_5-Ydk2g | 1 | 4 | None | 2025-07-21 09:16:29.714000+00:00 | 1 | None | 1 |
5 | 4 | qH_2eaLz5x2RgaZ7dUISLA | 1 | 5 | None | 2025-07-21 09:16:29.718000+00:00 | 1 | None | 1 |
6 | 75 | 0Jv0FUSjNlpGyQd-u141ww | 1 | 6 | None | 2025-07-21 09:16:29.722000+00:00 | 1 | None | 1 |
7 | Executor.default | BaNJiQQLvaFrvOtdglHU7w | 1 | 7 | None | 2025-07-21 09:16:29.726000+00:00 | 1 | None | 1 |
Run
uid | name | started_at | finished_at | reference | reference_type | _is_consecutive | _status_code | space_id | transform_id | report_id | _logfile_id | environment_id | initiated_by_run_id | created_at | created_by_id | _aux | branch_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | ||||||||||||||||||
1 | X7rORiiEAx7IXi7f | None | 2025-07-21 09:16:29.682243+00:00 | 2025-07-21 09:16:43.007868+00:00 | 87d91bea-4ddf-4684-b185-7ca4944d44e2 | redun_id | True | 0 | 1 | 1 | 8 | None | 1 | None | 2025-07-21 09:16:29.683000+00:00 | 1 | None | 1 |
Storage
uid | root | description | type | region | instance_uid | space_id | run_id | created_at | created_by_id | _aux | branch_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
id | ||||||||||||
1 | nbCRD7RIbB2u | /home/runner/work/redun-lamin/redun-lamin/docs... | None | local | None | iQlBPgD8uaqR | 1 | None | 2025-07-21 09:16:15.408000+00:00 | 1 | None | 1 |
Transform
uid | key | description | type | source_code | hash | reference | reference_type | space_id | _template_id | version | is_latest | created_at | created_by_id | _aux | branch_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | ||||||||||||||||
1 | kTPvOgmW7yy90000 | workflow.py | workflow.py | script | """workflow.py."""\n\n# This code is a copy fr... | mHyxrE622q2fluxICu4XDw | None | None | 1 | None | None | True | 2025-07-21 09:16:29.678000+00:00 | 1 | None | 1 |
Delete the test instance:
Show code cell content
!rm -rf test-redun-lamin
!lamin delete --force test-redun-lamin
• deleting instance testuser1/test-redun-lamin