def exists(config):
    """
    Check whether the .wily/ directory exists.

    :param config: The configuration
    :type  config: :class:`wily.config.WilyConfig`

    :return: Whether the .wily directory exists
    :rtype: ``boolean``
    """
    exists = (
        pathlib.Path(config.cache_path).exists()
        and pathlib.Path(config.cache_path).is_dir()
    )
    if not exists:
        return False
    index_path = pathlib.Path(config.cache_path) / "index.json"
    if index_path.exists():
        with open(index_path, "r") as out:
            index = json.load(out)
        if index["version"] != __version__:
            # TODO: Inspect the versions properly.
            logger.warning(
                "Wily cache is old, you may incur errors until you rebuild the cache."
            )
    else:
        logger.warning(
            "Wily cache was not versioned, you may incur errors until you rebuild the cache."
        )
        create_index(config)
    return True
Check whether the .wily/ directory exists.

    :param config: The configuration
    :type  config: :class:`wily.config.WilyConfig`

    :return: Whether the .wily directory exists
    :rtype: ``boolean``