from huggingface_hub import HfApi from huggingface_hub.errors import HfHubHTTPError from tenacity import retry, stop_after_attempt, wait_exponential from app.utils.validation import safe_dataset_id from app.services.logger import get_logger log = get_logger(__name__) api = HfApi() @retry(stop=stop_after_attempt(3), wait=wait_exponential(min=1, max=8)) def dataset_exists(dataset_name: str) -> bool: safe_dataset_id(dataset_name) try: api.dataset_info(dataset_name) except HfHubHTTPError as e: log.error(f"Hugging Face dataset lookup failed: {e}") raise return True