code: def show(parent=None, targets=[], modal=None, auto_publish=False, auto_validate=False):
      
  
      # Get modal mode from environment
      if modal is None:
          modal = bool(os.environ.get("PYBLISH_QML_MODAL", False))
  
      # Automatically install if not already installed.
      install(modal)
  
      show_settings = settings.to_dict()
      show_settings['autoPublish'] = auto_publish
      show_settings['autoValidate'] = auto_validate
  
      # Show existing GUI
      if _state.get("currentServer"):
          server = _state["currentServer"]
          proxy = ipc.server.Proxy(server)
  
          try:
              proxy.show(show_settings)
              return server
  
          except IOError:
              # The running instance has already been closed.
              _state.pop("currentServer")
  
      if not host.is_headless():
          host.splash()
  
      try:
          service = ipc.service.Service()
          server = ipc.server.Server(service, targets=targets, modal=modal)
      except Exception:
          # If for some reason, the GUI fails to show.
          traceback.print_exc()
          return host.desplash()
  
      proxy = ipc.server.Proxy(server)
      proxy.show(show_settings)
  
      # Store reference to server for future calls
      _state["currentServer"] = server
  
      log.info("Success. QML server available as "
               "pyblish_qml.api.current_server()")
  
      server.listen()
  
      return server
docs: Attempt to show GUI
  
      Requires install() to have been run first, and
      a live instance of Pyblish QML in the background.
  
      Arguments:
          parent (None, optional): Deprecated
          targets (list, optional): Publishing targets
          modal (bool, optional): Block interactions to parent