exo-explore/exo · error · HuggingFaceRateLimitError

HuggingFace rate limit hit fetching metadata for {model_id}/

Error message

HuggingFace rate limit hit fetching metadata for {model_id}/{path}

What it means

Error "HuggingFace rate limit hit fetching metadata for {model_id}/{path}" thrown in exo-explore/exo.

Source

Thrown at src/exo/download/download_utils.py:606

        create_http_session(timeout_profile="short") as session,
        session.head(url, headers=headers) as r,
    ):
        if r.status == 307:
            # On redirect, only trust Hugging Face's x-linked-* headers.
            x_linked_size = r.headers.get("x-linked-size")
            x_linked_etag = r.headers.get("x-linked-etag")
            if x_linked_size and x_linked_etag:
                content_length = int(x_linked_size)
                etag = trim_etag(x_linked_etag)
                return content_length, etag
            # Otherwise, follow the redirect to get authoritative size/hash
            redirected_location = r.headers.get("location")
            return await file_meta(model_id, revision, path, redirected_location)
        if r.status in [401, 403]:
            msg = await _build_auth_error_message(r.status, model_id)
            raise HuggingFaceAuthenticationError(msg)
        if r.status == 429:
            raise HuggingFaceRateLimitError(
                f"HuggingFace rate limit hit fetching metadata for {model_id}/{path}",
                retry_after=_parse_retry_after(r.headers),
            )
        content_length = int(
            r.headers.get("x-linked-size") or r.headers.get("content-length") or 0
        )
        etag = r.headers.get("x-linked-etag") or r.headers.get("etag")
        assert content_length > 0, f"No content length for {url}"
        assert etag is not None, f"No remote hash for {url}"
        etag = trim_etag(etag)
        return content_length, etag


async def download_file_with_retry(
    model_id: ModelId,
    revision: str,
    path: str,
    target_dir: Path,

View on GitHub (pinned to 21a54c5ea0)

When it happens

Trigger: Thrown at src/exo/download/download_utils.py:606 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of exo-explore/exo@21a54c5ea0 (2026-08-26). Data as JSON: /api/errors/65676c5be625a8c4. Report an issue: GitHub.