code: def s3_option(args, run):
      """Add a S3 File observer to the experiment.
  
      The argument value should be `s3://<bucket>/path/to/exp`.
      """
      match_obj = re.match(r"s3:\/\/([^\/]*)\/(.*)", args)
      if match_obj is None or len(match_obj.groups()) != 2:
          raise ValueError(
              "Valid bucket specification not found. "
              "Enter bucket and directory path like: "
              "s3://<bucket>/path/to/exp"
          )
      bucket, basedir = match_obj.groups()
      run.observers.append(S3Observer(bucket=bucket, basedir=basedir))
  
imports: import json
  import os
  import os.path
  from sacred.commandline_options import cli_option
  from sacred.dependencies import get_digest
  from sacred.observers.base import RunObserver
  from sacred.serializer import flatten
  import re
  import socket
label_desc: Use image node_id 3 for calling a global function with example usage: s3_option(args, run) without return types