class_docstr: Wrapper around a W&B launch run.
  
  A launched run is a subprocess running an entry point
  command, that exposes methods for waiting on and cancelling the run.
  This class defines the interface that the W&B launch runner uses to manage the lifecycle
  of runs launched in different environments (e.g. runs launched locally or in a cluster).
  ``AbstractRun`` is not thread-safe. That is, concurrent calls to wait() / cancel()
  from multiple threads may inadvertently kill resources (e.g. local processes) unrelated to the
  run.
code: def id(self) -> Optional[str]:
      pass
  
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 4 for calling the AbstractRun obj's underlying member method code with example usage: obj.id() without return types