docs: 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