github huggingface/huggingface_hub v2.0.0
[v2.0.0] The httpx2 release

4 hours ago

See MIGRATION GUIDE in docs.

💔 Breaking Change: HTTP stack moves to httpx2

See migration plan in #4802 .

huggingface_hub v2.0 replaces its HTTP dependency with httpx2: clients and transport exceptions now come from httpx2/httpcore2 instead of httpx/httpcore. Custom client factories (via set_client_factory / set_async_client_factory) and any except clauses catching transport errors must use httpx2 types. For code that must support both v1.x (starting with v1.30.0) and v2.x, import the HTTP module from huggingface_hub.utils:

from huggingface_hub.utils import get_session, httpx

try:
    response = get_session().get("https://huggingface.co/api/models/gpt2")
    response.raise_for_status()
except httpx.HTTPError:
    ...

Note that httpx2 uses the operating system's certificate trust store by default (custom CA bundles via SSL_CERT_FILE / SSL_CERT_DIR still work), logging configuration should target the httpx2 and httpcore2 loggers, and the oauth extra now requires authlib>=1.8.0.

💔 Breaking Change: deprecated APIs are removed

This release also removes all APIs deprecated in 1.x:

  • upload_large_folder / HfApi.upload_large_folder → use upload_folder
  • duplicate_space → use duplicate_repo
  • request_space_storage / delete_space_storage → use the volume APIs (set_space_volumes, delete_space_volumes)
  • repo_type_and_id_from_hf_id → use parse_hf_uri
  • InferenceEndpointType.PROTECTED → use AUTHENTICATED (create_inference_endpoint(type="protected") now raises ValueError)
  • list_models(model_name=...) → use list_models(search=...)
  • create_repo / duplicate_repo(space_storage=...) → use space_volumes
  • text_generation(stop_sequences=...) → use stop
  • Boolean InferenceClient(token=...) → pass a token string or None

On the CLI side, the following entry points and options are gone: huggingface-cli (use hf), hf repo and hf repo-files delete (use hf repos and hf repos delete-files), hf upload-large-folder (use hf upload), hf repos create/duplicate --storage (use --volume), hf jobs ps and hf jobs scheduled ps -f/--filter (use --status/--label), and hf skills add/update --claude (Claude Code installation is now automatic).

A migration guide covering all of this is available at https://github.com/huggingface/huggingface_hub/blob/main/docs/source/en/concepts/migration_v2.md.

🏗️ Internal

  • [CI] Support major (pre-)releases in release workflow by @Wauplin in #4991
  • Post-release: bump version to 1.34.0.dev0 by @huggingface-hub-bot[bot] in #4993

Don't miss a new huggingface_hub release

NewReleases is sending notifications on new releases.