Get string and tuple versions from installed package information

    It will return :attr:`default_string` and :attr:`default_tuple` values when
    the named package is not installed.

    Parameters
    -----------
    name : string
        An application name used to install via setuptools.
    default : string
        A default returning value used when the named application is not
        installed yet
    default_tuple : tuple
        A default returning value used when the named application is not
        installed yet
    allow_ambiguous : boolean
        ``True`` for allowing ambiguous version information.

    Returns
    --------
    tuple
        A version string and version tuple

    Examples
    --------
    >>> import re
    >>> v1, v2 = get_versions('app_version', allow_ambiguous=True)
    >>> isinstance(v1, str)
    True
    >>> isinstance(v2, tuple)
    True
    >>> get_versions('distribution_which_is_not_installed')
    ('Please install this application with setup.py', (0, 0, 0))

def get_versions(name,
                 default_string=DEFAULT_STRING_NOT_FOUND,
                 default_tuple=DEFAULT_TUPLE_NOT_FOUND,
                 allow_ambiguous=True):
    """
    Get string and tuple versions from installed package information

    It will return :attr:`default_string` and :attr:`default_tuple` values when
    the named package is not installed.

    Parameters
    -----------
    name : string
        An application name used to install via setuptools.
    default : string
        A default returning value used when the named application is not
        installed yet
    default_tuple : tuple
        A default returning value used when the named application is not
        installed yet
    allow_ambiguous : boolean
        ``True`` for allowing ambiguous version information.

    Returns
    --------
    tuple
        A version string and version tuple

    Examples
    --------
    >>> import re
    >>> v1, v2 = get_versions('app_version', allow_ambiguous=True)
    >>> isinstance(v1, str)
    True
    >>> isinstance(v2, tuple)
    True
    >>> get_versions('distribution_which_is_not_installed')
    ('Please install this application with setup.py', (0, 0, 0))
    """
    version_string = get_string_version(name, default_string, allow_ambiguous)
    version_tuple = get_tuple_version(name, default_tuple, allow_ambiguous)
    return version_string, version_tuple