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).
docstr: This is called on first boot to verify the needed commands, and permissions are available.
  
  For now just call `wandb.termerror` and `sys.exit(1)`
docstr_tok: ["This","is","called","on","first","boot","to","verify","the","needed","commands",",","and","permissions","are","available",".","For","now","just","call","`","wandb.termerror","`","and","`","sys.exit","(","1",")","`"]
code: def verify(self) -> bool:
      """This is called on first boot to verify the needed commands, and permissions are available.
  
      For now just call `wandb.termerror` and `sys.exit(1)`
      """
      if self._api.api_key is None:
          wandb.termerror(
              "Couldn't find W&B api key, run wandb login or set WANDB_API_KEY"
          )
          sys.exit(1)
      return True
  
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 AbstractRunner obj's underlying member method code with example usage: obj.verify() and returns: True