class_docstr: The `RuntimeManager` can be used for a simplified resource management.
  
  It aims to automatically detect valid `Runtimes` based on the ssh configuration.
  It can be used to create a `RuntimeGroup` based on the automatically detected
  instances and possibly based on further filters such as GPU availability.
class_docstr_tok: ["The","`","RuntimeManager","`","can","be","used","for","a","simplified","resource","management",".","It","aims","to","automatically","detect","valid","`","Runtimes","`","based","on","the","ssh","configuration",".","It","can","be","used","to","create","a","`","RuntimeGroup","`","based","on","the","automatically","detected","instances","and","possibly","based","on","further","filters","such","as","GPU","availability","."]
docstr: Print detailed information of detected `Runtimes` and moreover the names of inactive hosts.
  
  Note:
      Inactive means that the host is not reachable via ssh or the check vie Runtime.is_valid_runtime() failed.
docstr_tok: ["Print","detailed","information","of","detected","`","Runtimes","`","and","moreover","the","names","of","inactive","hosts",".","Note",":","Inactive","means","that","the","host","is","not","reachable","via","ssh","or","the","check","vie","Runtime.is_valid_runtime","(",")","failed","."]
code: def print_runtime_info(self) -> None:
      """Print detailed information of detected `Runtimes` and moreover the names of inactive hosts.
  
      Note:
          Inactive means that the host is not reachable via ssh or the check vie Runtime.is_valid_runtime() failed.
  
      """
      print("\n\u001b[1m")
      print(
          f"{str(self._group.runtime_count)} Runtime(s) and {str(len(self.inactive_hosts))} inactive "
          f"host(s) detected:"
      )
      print("\u001b[0m")
  
      self._group.print_runtime_info()
      self.print_inactive_hosts()
      print("\n")
  
imports: import atexit
  import logging
  import warnings
  from copy import deepcopy
  from multiprocessing import Pool, Process
  from typing import Dict, Generator, List, Optional, Union
  from storm import Storm
  from lazycluster import _utils
  from lazycluster.exceptions import InvalidRuntimeError, NoPortsLeftError, NoRuntimesDetectedError, PortInUseError
  from lazycluster.runtimes import Runtime, RuntimeTask
label_desc: Use image node_id 5 for calling the RuntimeManager obj's underlying member method code with example usage: obj.print_runtime_info() without return types