code: def __init__(
      self,
      type: SetupType,
      name: str,
      description: str,
      build_type: BuildType,
  ):
      self.type: SetupType = type
      self.name: str = name
      version = find_version("ray", "_version.py")
      # add .dbg suffix if debug mode is on.
      if build_type == BuildType.DEBUG:
          self.version: str = f"{version}+dbg"
      elif build_type == BuildType.ASAN:
          self.version: str = f"{version}+asan"
      elif build_type == BuildType.TSAN:
          self.version: str = f"{version}+tsan"
      else:
          self.version = version
      self.description: str = description
      self.build_type: BuildType = build_type
      self.files_to_include: list = []
      self.install_requires: list = []
      self.extras: dict = {}
  
imports: import argparse
  import errno
  import io
  import logging
  import os
  import pathlib
  import re
  import shlex
  import shutil
  import subprocess
  import sys
  import urllib.error
  import urllib.parse
  import urllib.request
  import warnings
  from enum import Enum
  from itertools import chain
label_desc: Use image node_id 1 to create a new SetupSpec object  with example: obj = SetupSpec(type, name, description, build_type)