def _extract_settings()

in yourbench/utils/dataset_engine.py [0:0]


def _extract_settings(config: dict[str, Any]) -> HFSettings:
    """Parse and validate configuration."""
    if "hf_configuration" not in config:
        raise ConfigurationError("'hf_configuration' section missing")

    hf = config["hf_configuration"]
    if "hf_dataset_name" not in hf:
        raise ConfigurationError("'hf_dataset_name' required")

    dataset_name = _expand_var(hf["hf_dataset_name"], "hf_dataset_name")
    org_raw = hf.get("hf_organization")
    token = hf.get("token") or os.getenv("HF_TOKEN")

    organization = _resolve_organization(org_raw, token)

    local_raw = config.get("local_dataset_dir") or hf.get("local_dataset_dir")
    local_dir = Path(local_raw).expanduser().resolve() if local_raw else None

    return HFSettings(
        dataset_name=dataset_name,
        organization=organization,
        token=token,
        local_dir=local_dir,
        concat_if_exist=hf.get("concat_if_exist", False),
        private=hf.get("private", True),
    )