class_docstr: Abstract plugin class defining the interface needed to execute W&B Launches.
  
  You can define subclasses of ``AbstractRunner`` and expose them as third-party
  plugins to enable running W&B projects against custom execution backends
  (e.g. to run projects against your team's in-house cluster or job scheduler).
code: def __init__(
      self,
      api: Api,
      backend_config: Dict[str, Any],
  ) -> None:
      self._api = api
      self.backend_config = backend_config
      self._cwd = os.getcwd()
      self._namespace = runid.generate_id()
  
imports: import logging
  import os
  import subprocess
  import sys
  from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Optional, Union
  from dockerpycreds.utils import find_executable
  import wandb
  from wandb.apis.internal import Api
  from wandb.sdk.lib import runid
  from .._project_spec import LaunchProject
label_desc: Use image node_id 1 to create a new AbstractRunner object from inherited base classes: ABC with example: obj = AbstractRunner(api, backend_config)