def set_default_timeout(timeout=None, connect_timeout=None, read_timeout=None):
    """
    The purpose of this function is to install default socket timeouts and
    retry policy for requests calls. Any requests issued through the requests
    wrappers defined in this module will have these automatically set, unless
    explicitly overriden.

    The default timeouts and retries set through this option apply to the
    entire process. For that reason, it is recommended that this function is
    only called once during startup, and from the main thread, before any
    other threads are spawned.

    :param timeout timeout for socket connections and reads in seconds. This is
                   a convenience argument that applies the same default to both
                   connection and read timeouts.
    :param connect_timeout timeout for socket connections in seconds.
    :param read_timeout timeout for socket reads in seconds.
    """
    global DEFAULT_CONNECT_TIMEOUT
    global DEFAULT_READ_TIMEOUT
    DEFAULT_CONNECT_TIMEOUT = (connect_timeout if connect_timeout is not
        None else timeout)
    DEFAULT_READ_TIMEOUT = (read_timeout if read_timeout is not None else
        timeout)
