code: def _timeout(seconds):
      
  
      def _handle_timeout(*args):
          raise Timeout(seconds)
  
      signal.signal(signal.SIGALRM, _handle_timeout)
      signal.alarm(seconds)
      try:
          yield
      finally:
          signal.alarm(0)
          signal.signal(signal.SIGALRM, signal.SIG_DFL)
docs: Context manager that runs code block until timeout is reached.
  
      Example usage::
  
          try:
              with _timeout(10):
                  do_stuff()
          except Timeout:
              print("do_stuff timed out")