code: def process_args():
      parser = argparse.ArgumentParser()
  
      subparsers = parser.add_subparsers(
          dest="action", title="action", description="Action to perform"
      )
      parser.add_argument("--api_token", help=argparse.SUPPRESS)
      parser.add_argument("--branch", help="git branch (autodetected)")
      parser.add_argument(
          "--dryrun", action="store_true", help="Don't do anything"
      )
  
      parse_trigger = subparsers.add_parser("trigger")
      parse_trigger.add_argument(
          "--platform", help="comma-separated platform (linux,mac,win)"
      )
      parse_trigger.add_argument(
          "--toxenv", help="single toxenv (py36,py37,py38,py39)"
      )
      parse_trigger.add_argument(
          "--test-file", help="test file (ex: tests/test.py)"
      )
      parse_trigger.add_argument(
          "--test-name", help="test name (ex: test_dummy)"
      )
      parse_trigger.add_argument(
          "--test-repeat", type=int, help="repeat N times (ex: 3)"
      )
      parse_trigger.add_argument(
          "--parallelism", type=int, help="CircleCI parallelism"
      )
      parse_trigger.add_argument(
          "--xdist", type=int, help="pytest xdist parallelism"
      )
      parse_trigger.add_argument(
          "--loop", type=int, help="Outer loop (implies wait)"
      )
      parse_trigger.add_argument(
          "--wait", action="store_true", help="Wait for finish or error"
      )
  
      parse_trigger_nightly = subparsers.add_parser("trigger-nightly")
      parse_trigger_nightly.add_argument(
          "--slack-notify",
          action="store_true",
          help="post notifications to slack",
      )
      parse_trigger_nightly.add_argument(
          "--shards",
          default=",".join(NIGHTLY_SHARDS),
          help="comma-separated shards (standalone-{cpu,gpu,gpu-win},kfp,regression)",
      )
      parse_trigger_nightly.add_argument(
          "--wait", action="store_true", help="Wait for finish or error"
      )
  
      parse_status = subparsers.add_parser("status")
      parse_status.add_argument(
          "--wait", action="store_true", help="Wait for finish or error"
      )
  
      parse_download = subparsers.add_parser("download")
      parse_download.add_argument(
          "--wait", action="store_true", help="Wait for finish or error"
      )
  
      args = parser.parse_args()
      return parser, args
  
file_path: wandb/tools/circleci-tool.py
imports: import argparse
  import os
  import subprocess
  import sys
  import time
  import requests
label_desc: Use image node_id 8 for calling a global function with example usage: process_args() and returns: parser,  args