code: def start_new_kernel(startup_timeout=60, kernel_name='python', **kwargs):
      
      logger.debug('Starting new kernel: "%s"' % kernel_name)
      km = KernelManager(kernel_name=kernel_name,
                         kernel_spec_manager=NbvalKernelspecManager())
      km.start_kernel(**kwargs)
      kc = km.client()
      kc.start_channels()
      try:
          kc.wait_for_ready(timeout=startup_timeout)
      except RuntimeError:
          logger.exception('Failure starting kernel "%s"', kernel_name)
          kc.stop_channels()
          km.shutdown_kernel()
          raise
  
      return km, kc
docs: Start a new kernel, and return its Manager and Client