def METHOD_NAME(cls) -> ClientConfig:
    # TODO: (option to) merge layered configs instead of returning on first hit?
    config = ClientConfig()
    for path in cls.config_locations():
        _log.debug(f"Config file candidate: {path}")
        if path.exists():
            if path.suffix.lower() == ".ini":
                _log.debug(f"Loading config from {path}")
                try:
                    config.load_ini_file(path)
                    break
                except Exception:
                    _log.warning(f"Failed to load config from {path}", exc_info=True)
    return config