Currently the connection.conn function waits for user input if credentials are set to None (the default). A low-level connection API should never block execution and wait for user input. Instead, the conn function should be designed around the assumption that credentials have already been provided. If there's a need to handle user input as a source for credentials, this should be implemented by a higher-level function that wraps connection.conn.