code: def start_new_kernel(
      startup_timeout=60, kernel_name="python", **kwargs
  ):
      """Start a new kernel, and return its Manager and Client"""
      km = KernelManager(kernel_name=kernel_name)
      km.start_kernel(**kwargs)
      kc = km.client()
      kc.start_channels()
      try:
          kc.wait_for_ready(timeout=startup_timeout)
      except RuntimeError:
          kc.stop_channels()
          km.shutdown_kernel()
          raise
  
      return km, kc
  
imports: from __future__ import absolute_import
  from contextlib import contextmanager
  import os
  import re
  import signal
  import sys
  import time
  import warnings
  import zmq
  from ipython_genutils.importstring import import_item
  from .localinterfaces import is_local_ip, local_ips
  from traitlets import Any, Float, Instance, Unicode, List, Bool, Type, DottedObjectName
  from jupyter_client import launch_kernel, kernelspec
  from .connect import ConnectionFileMixin
  from .managerabc import KernelManagerABC
label_desc: Use image node_id 1 for calling a global function with example usage: start_new_kernel(startup_timeout, kernel_name) and returns: km,  kc