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
Hide code cell output
 initialized lamindb: testuser1/test-redun-lamin

Amend the workflow

import lamindb as ln
import json
Hide 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
Hide 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
Hide code cell output
 connected lamindb: testuser1/test-redun-lamin
 created Transform('d3RZPwgr3JX90000'), started new Run('wIflPTUI...') at 2025-08-12 07:38:34 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("d3RZPwgr3JX9", params={...})
! folder i[redun] Run    Job 5b4ec09d:  bioinformatics_pipeline_tutorial.lib.digest_protein_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/w2l5EFbBvq0Bd1DD0000.fasta, hash=d4a3f4fd), 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=955adfee)
task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/Cv4Ij793VIUrcER10000.fasta, hash=3eab2bc8), enzyme_regex='[KR]', missed_cleavages=0, min_length=4, max_length=75) on default
[redun] Run    Job 472e10a4:  bioinformatics_pipeline_tutorial.lib.digest_protein_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/UhoNfiLJnXSPG2A60000.fasta, hash=e17dc2cd), enzyme_regex='[KR]', missed_cleavages=0, min_length=4, max_length=75) on default
[redun] Run    Job 7233e2af:  bioinformatics_pipeline_tutorial.lib.digest_protein_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/IW2fPn0oVZi5d3lc0000.fasta, hash=a121b9ac), enzyme_regex='[KR]', missed_cleavages=0, min_length=4, max_length=75) on default
[redun] Run    Job 3d6e7f16:  bioinformatics_pipeline_tutorial.lib.count_amino_acids_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/w2l5EFbBvq0Bd1DD0000.fasta, hash=d4a3f4fd), input_peptides=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/w2l5EFbBvq0Bd1DD0000.peptides.txt, hash=fa701c7b), amino_acid='C') on default
[redun] Run    Job 7c87d702:  bioinformatics_pipeline_tutorial.lib.count_amino_acids_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/Cv4Ij793VIUrcER10000.fasta, hash=3eab2bc8), input_peptides=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/Cv4Ij793VIUrcER10000.peptides.txt, hash=7d9c0404), amino_acid='C') on default
[redun] Run    Job eb2c1631:  bioinformatics_pipeline_tutorial.lib.count_amino_acids_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/UhoNfiLJnXSPG2A60000.fasta, hash=e17dc2cd), input_peptides=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/UhoNfiLJnXSPG2A60000.peptides.txt, hash=0a67d9c5), amino_acid='C') on default
[redun] Run    Job de5742e9:  bioinformatics_pipeline_tutorial.lib.count_amino_acids_task(input_fasta=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/.lamindb/IW2fPn0oVZi5d3lc0000.fasta, hash=a121b9ac), input_peptides=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/IW2fPn0oVZi5d3lc0000.peptides.txt, hash=65ff6272), amino_acid='C') on default
[redun] Run    Job dfe618d9:  bioinformatics_pipeline_tutorial.lib.plot_count_task(input_count=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/w2l5EFbBvq0Bd1DD0000.count.tsv, hash=ab87286b)) on default
[redun] Run    Job d7d91c87:  bioinformatics_pipeline_tutorial.lib.plot_count_task(input_count=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/Cv4Ij793VIUrcER10000.count.tsv, hash=569d31f9)) on default
[redun] Run    Job 5e9ebe99:  bioinformatics_pipeline_tutorial.lib.plot_count_task(input_count=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/UhoNfiLJnXSPG2A60000.count.tsv, hash=6797c1ac)) on default
[redun] Run    Job ec55efcc:  bioinformatics_pipeline_tutorial.lib.plot_count_task(input_count=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/IW2fPn0oVZi5d3lc0000.count.tsv, hash=df8c1978)) on default
[redun] Run    Job 9172feb5:  bioinformatics_pipeline_tutorial.lib.get_report_task(input_counts=[File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/w2l5EFbBvq0Bd1DD0000.count.tsv, hash=ab87286b), File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-l...) on default
[redun] Run    Job 55fc3ecf:  bioinformatics_pipeline_tutorial.lib.archive_results_task(inputs_plots=[File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/w2l5EFbBvq0Bd1DD0000.plot.png, hash=27cde5c3), 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=2bad0113)) on default
INFO	redun:scheduler.py:log()- Run    Job 55fc3ecf:  bioinformatics_pipeline_tutorial.lib.archive_results_task(inputs_plots=[File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/w2l5EFbBvq0Bd1DD0000.plot.png, hash=27cde5c3), 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=2bad0113)) on default
[redun] Run    Job 1f92e3de:  redun_lamin_fasta.finish(results_archive=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/results.tgz, hash=955adfee)) on default
INFO	redun:scheduler.py:log()- Run    Job 1f92e3de:  redun_lamin_fasta.finish(results_archive=File(path=/home/runner/work/redun-lamin/redun-lamin/docs/test-redun-lamin/data/results.tgz, hash=955adfee)) 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/08/12 07:38:51
INFO	redun:scheduler.py:log()- | JOB STATUS 2025/08/12 07:38:51
--- 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/08/12 07:38:51'
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: 17.04 seconds
INFO	redun:scheduler.py:log()- Execution duration: 17.04 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: 17.04 seconds'
Arguments: ()

View data lineage:

artifact = ln.Artifact.get(key="data/results.tgz")
artifact.view_lineage()
Hide code cell output
_images/5828a2c0915477f7983ea6e9415ec78ca13fdc307bf31406181bce7ca8040207.svg

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='wIflPTUIEesAyTiy', started_at=2025-08-12 07:38:34 UTC, finished_at=2025-08-12 07:38:51 UTC, reference='ffce7fa5-39c6-4cd0-97d5-1c54deef977e', 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-08-12 07:38:34 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='wIflPTUIEesAyTiy', started_at=2025-08-12 07:38:34 UTC, finished_at=2025-08-12 07:38:51 UTC, reference='ffce7fa5-39c6-4cd0-97d5-1c54deef977e', 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-08-12 07:38:34 UTC)

View transforms and runs in LaminHub

hub

View the database content

ln.view()
Hide 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 xhhF1o4jIgfew3BI0000 None Redun run report of ffce7fa5-39c6-4cd0-97d5-1c... .txt None None 33584 kWLeBrPgSo05bxaJaq6KYQ None None md5 True False 1 1 None None True NaN 2025-08-12 07:38:56.869000+00:00 1 {'af': {'0': True}} 1
6 gDfCvw5KerS1jp1s0000 data/results.tgz None .tgz None None 68462 pbnJlr7WfZA4EJI2DJlT_A None None md5 False False 1 1 None None True 1.0 2025-08-12 07:38:51.540000+00:00 1 None 1
4 UhoNfiLJnXSPG2A60000 fasta/PO5F1.fasta None .fasta None None 477 -7iJgveFO9ia0wE1bqVu6g None None md5 True False 1 1 None None True NaN 2025-08-12 07:38:37.898000+00:00 1 {'af': {'0': True}} 1
5 IW2fPn0oVZi5d3lc0000 fasta/MYC.fasta None .fasta None None 536 WGbEtzPw-3bQEGcngO_pHQ None None md5 True False 1 1 None None True NaN 2025-08-12 07:38:37.898000+00:00 1 {'af': {'0': True}} 1
3 Cv4Ij793VIUrcER10000 fasta/KLF4.fasta None .fasta None None 609 LyuoYkWs4SgYcH7P7JLJtA None None md5 True False 1 1 None None True NaN 2025-08-12 07:38:37.897000+00:00 1 {'af': {'0': True}} 1
2 w2l5EFbBvq0Bd1DD0000 fasta/SOX2.fasta None .fasta None None 414 C5q_yaFXGk4SAEpfdqBwnQ None None md5 True False 1 1 None None True NaN 2025-08-12 07:38:37.896000+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 6mgb4IzJal9W input_dir str None None None 0 0 None None None None None 1 None None 2025-08-12 07:38:34.903000+00:00 1 {'af': {'0': None, '1': True, '2': False}} 1
2 JcSfTQHhWtp6 amino_acid str None None None 0 0 None None None None None 1 None None 2025-08-12 07:38:34.903000+00:00 1 {'af': {'0': None, '1': True, '2': False}} 1
3 6YKqC0obIqSs enzyme_regex str None None None 0 0 None None None None None 1 None None 2025-08-12 07:38:34.903000+00:00 1 {'af': {'0': None, '1': True, '2': False}} 1
4 yC8ZhV27jFE8 missed_cleavages int None None None 0 0 None None None None None 1 None None 2025-08-12 07:38:34.903000+00:00 1 {'af': {'0': None, '1': True, '2': False}} 1
5 hVnH1AXb4gdl min_length int None None None 0 0 None None None None None 1 None None 2025-08-12 07:38:34.903000+00:00 1 {'af': {'0': None, '1': True, '2': False}} 1
6 QaaVKOSHGsQG max_length int None None None 0 0 None None None None None 1 None None 2025-08-12 07:38:34.903000+00:00 1 {'af': {'0': None, '1': True, '2': False}} 1
7 KXv8cvEb4rg6 executor str None None None 0 0 None None None None None 1 None None 2025-08-12 07:38:34.903000+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-08-12 07:38:34.939000+00:00 1 None 1
2 C DWH4NwytHUEvgLhNFD4SVw 1 2 None 2025-08-12 07:38:34.941000+00:00 1 None 1
3 [KR] zPuapwAPylpfWRQFOTw9Cg 1 3 None 2025-08-12 07:38:34.943000+00:00 1 None 1
4 0 z80ghJXVZe9m59_5-Ydk2g 1 4 None 2025-08-12 07:38:34.945000+00:00 1 None 1
5 4 qH_2eaLz5x2RgaZ7dUISLA 1 5 None 2025-08-12 07:38:34.947000+00:00 1 None 1
6 75 0Jv0FUSjNlpGyQd-u141ww 1 6 None 2025-08-12 07:38:34.949000+00:00 1 None 1
7 Executor.default BaNJiQQLvaFrvOtdglHU7w 1 7 None 2025-08-12 07:38:34.951000+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 wIflPTUIEesAyTiy None 2025-08-12 07:38:34.920500+00:00 2025-08-12 07:38:51.591301+00:00 ffce7fa5-39c6-4cd0-97d5-1c54deef977e redun_id True 0 1 1 8 None 1 None 2025-08-12 07:38:34.921000+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 pbFSTbEKaLl7 /home/runner/work/redun-lamin/redun-lamin/docs... None local None iQlBPgD8uaqR 1 None 2025-08-12 07:38:13.228000+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 d3RZPwgr3JX90000 workflow.py workflow.py script """workflow.py."""\n\n# This code is a copy fr... mHyxrE622q2fluxICu4XDw None None 1 None None True 2025-08-12 07:38:34.918000+00:00 1 None 1

Delete the test instance:

Hide code cell content
!rm -rf test-redun-lamin
!lamin delete --force test-redun-lamin
 deleting instance testuser1/test-redun-lamin