code: def __init__(
      self,
      *,
      uuid: str,
      python_file: str,
      trial_date: str,
      trial_time: str,
      name: str,
      comment: str,
      commit: Optional[str] = None,
      commit_message: Optional[str] = None,
      repo_remotes: List[str] = None,
      is_dirty: bool = True,
      experiment_path: Path,
      start_step: int = 0,
      notes: str = "",
      pid: int,
      load_run: Optional[str] = None,
      tags: List[str],
      distributed_rank: int,
      distributed_world_size: int,
      distributed_main_rank: int,
  ):
      self.name = name
      self.uuid = uuid
      if repo_remotes is None:
          repo_remotes = []
      self.repo_remotes = repo_remotes
      self.commit = commit
      self.is_dirty = is_dirty
      self.python_file = python_file
      self.trial_date = trial_date
      self.trial_time = trial_time
      self.comment = comment
      self.commit_message = commit_message
      self.start_step = start_step
  
      self.load_run = load_run
  
      self.experiment_path = experiment_path
      self.distributed_rank = distributed_rank
      self.distributed_world_size = distributed_world_size
      self.distributed_main_rank = distributed_main_rank
      self.pid = pid
  
      if distributed_world_size > 0:
          self.run_path = (
              experiment_path / f"{uuid}.{self.distributed_rank}"
          )
      else:
          self.run_path = experiment_path / str(uuid)
  
      self.pid_path = self.run_path / "run.pid"
      self.checkpoint_path = self.run_path / "checkpoints"
      self.numpy_path = self.run_path / "numpy"
  
      self.diff_path = self.run_path / "source.diff"
  
      self.artifacts_folder = self.run_path / "artifacts"
      self.log_file = self.run_path / "log.jsonl"
  
      self.info_path = self.run_path / "run.yaml"
      self.indicators_path = self.run_path / "indicators.yaml"
      self.configs_path = self.run_path / "configs.yaml"
      self.run_log_path = self.run_path / "run_log.jsonl"
      self.notes = notes
      self.tags = tags
  
imports: import os
  import time
  from pathlib import Path
  from typing import List, Dict, Optional
  from labml import lab
  from labml.internal.configs.processor import load_configs
  from ..None import util
  from ..manage.runs import get_run_by_uuid
  from ...logger import Text
  from ...utils.notice import labml_notice
label_desc: Use image node_id 1 to create a new RunInfo object  with example: obj = RunInfo()