code: def connect(host=None,
              port=rethinkdb.DEFAULT_PORT,
              timeout=20,
              verify=True,
              **kwargs):
      
      if not host:
          host = DEFAULT_HOSTS.get(check_stage_env())
      connection = None
      tries = 0
      time_quit = time() + timeout
      while not connection and time() <= time_quit:
          tries += 1
          connection = _attempt_connect(host, port, timeout/3, verify, **kwargs)
          if not connection:
              sleep(0.5)
      if not connection:
          raise BrainNotReady(
              "Tried ({}:{}) {} times at {} second max timeout".format(host,
                                                                       port,
                                                                       tries,
                                                                       timeout))
      return connection
docs: RethinkDB semantic connection wrapper
  
      raises <brain.connection.BrainNotReady> if connection verification fails
  
      :param verify: <bool> (default True) whether to run POST
      :param timeout: <int> max time (s) to wait for connection
      :param kwargs:  <dict> passthrough rethinkdb arguments
      :return: