code: def start(self) -> None:
          
  
          session = self.client.create_session(
              self.kind,
              self.proxy_user,
              self.jars,
              self.py_files,
              self.files,
              self.driver_memory,
              self.driver_cores,
              self.executor_memory,
              self.executor_cores,
              self.num_executors,
              self.archives,
              self.queue,
              self.name,
              self.spark_conf,
          )
          self.session_id = session.session_id
  
          not_ready = {SessionState.NOT_STARTED, SessionState.STARTING}
          intervals = polling_intervals([0.1, 0.2, 0.3, 0.5], 1.0)
  
          while self.state in not_ready:
              time.sleep(next(intervals))
docs: Create the remote Spark session and wait for it to be ready.