Parse a version string.

        Args:
            version (str): A string representing a version e.g. '1.9rc2'

        Returns:
            tuple: major, minor, patch parts cast as integer and whether or not
                it was a pre-release version.

def _parse_version(version):
        """ Parse a version string.

        Args:
            version (str): A string representing a version e.g. '1.9rc2'

        Returns:
            tuple: major, minor, patch parts cast as integer and whether or not
                it was a pre-release version.
        """
        parsed_version = parse_version(version)
        return tuple(
            int(dot_version)
            for dot_version in parsed_version.base_version.split('.')
        ) + (parsed_version.is_prerelease,)