code: def run(self):
      # Figure out which sub-commands we need to run.
      commands = []
      for format in self.formats:
          try:
              commands.append(self.format_commands[format][0])
          except KeyError:
              raise DistutilsOptionError("invalid format '%s'" % format)
  
      # Reinitialize and run each command.
      for i in range(len(self.formats)):
          cmd_name = commands[i]
          sub_cmd = self.reinitialize_command(cmd_name)
          if cmd_name not in self.no_format_option:
              sub_cmd.format = self.formats[i]
  
          # passing the owner and group names for tar archiving
          if cmd_name == "bdist_dumb":
              sub_cmd.owner = self.owner
              sub_cmd.group = self.group
  
          # If we're going to need to run this command again, tell it to
          # keep its temporary files around so subsequent runs go faster.
          if cmd_name in commands[i + 1 :]:
              sub_cmd.keep_temp = 1
          self.run_command(cmd_name)
  
file_path: catboost/contrib/python/setuptools/py3/setuptools/_distutils/command/bdist.py
imports: import os
  import warnings
  from ..core import Command
  from ..errors import DistutilsPlatformError, DistutilsOptionError
  from ..util import get_platform
label_desc: Use image node_id 3 for calling the bdist obj's underlying member method code with example usage: obj.run() without return types