code: def create_experiment(
      *,
      uuid: str,
      name: Optional[str],
      python_file: Optional[str],
      comment: Optional[str],
      writers: Set[str],
      ignore_callers: Set[str],
      tags: Optional[Set[str]],
      distributed_rank: int = 0,
      distributed_world_size: int = 0,
      distributed_main_rank: int = 0,
      is_evaluate: bool,
  ):
      global _internal
  
      _internal = Experiment(
          uuid=uuid,
          name=name,
          python_file=python_file,
          comment=comment,
          writers=writers,
          ignore_callers=ignore_callers,
          tags=tags,
          distributed_rank=distributed_rank,
          distributed_world_size=distributed_world_size,
          distributed_main_rank=distributed_main_rank,
          is_evaluate=is_evaluate,
      )
  
imports: import json
  import os
  import pathlib
  import time
  from typing import Optional, Set, Dict, Union, TYPE_CHECKING
  from labml import logger
  from labml.logger import Text
  from labml.utils import get_caller_file
  from labml.utils.git_info import get_git_status
  from labml.utils.notice import labml_notice
  from ..app.dynamic import DynamicUpdateHandler
  from ..configs.base import Configs
  from ..configs.dynamic_hyperparam import DynamicHyperParam
  from ..configs.processor import ConfigProcessor, FileConfigsSaver
  from ..experiment.experiment_run import Run
  from ..experiment.watcher import ExperimentWatcher
  from ..lab import lab_singleton
  from ..monitor import monitor_singleton
  from ..tracker import tracker_singleton
  from ..util import is_ipynb
label_desc: Use image node_id 4 for calling a global function with example usage: create_experiment() without return types