# Переход на huggingface_hub v2.0

`huggingface_hub` v2.0 заменяет зависимость HTTP на [`httpx2`](https://httpx2.pydantic.dev/) и удаляет устаревшие API 1.x. HTTP-клиенты и исключения теперь поставляются из отдельного пакета.

Чтобы поддерживать как `huggingface_hub` v1.x (начиная с v1.30.0), так и v2.x, импортируйте модуль HTTP из `huggingface_hub.utils`:

```python
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:
    ...
```

Используйте тот же импорт при создании собственных клиентов для [set_client_factory()](/docs/huggingface_hub/v2.4.0/ru/package_reference/utilities#huggingface_hub.set_client_factory) или [set_async_client_factory()](/docs/huggingface_hub/v2.4.0/ru/package_reference/utilities#huggingface_hub.set_async_client_factory). Клиенты и исключения из старого пакета HTTP отличаются от тех, что в `httpx2`, и не могут использоваться взаимозаменяемо.

`httpx2` по умолчанию использует хранилище доверенных сертификатов операционной системы. Настроенные с помощью `SSL_CERT_FILE` или `SSL_CERT_DIR` пользовательские наборы CA по-прежнему поддерживаются. Настройка журналирования должна нацеливаться на `httpx2` и `httpcore2`, а не на старые имена логгеров. Подробности см. в [руководстве по миграции](https://httpx2.pydantic.dev/migration/).

Дополнение `oauth` теперь требует `authlib>=1.8.0` для поддержки `httpx2`.

## Удалены устаревшие API

- Используйте `upload_folder` вместо `upload_large_folder` или `HfApi.upload_large_folder`.
- Используйте `duplicate_repo`, `set_space_volumes` и `delete_space_volumes` вместо `duplicate_space`, `request_space_storage` и `delete_space_storage`.
- Используйте `parse_hf_uri` вместо `repo_type_and_id_from_hf_id`, а `list_models(search=...)` вместо `model_name=...`.
- Используйте `space_volumes` вместо `space_storage` в `create_repo` и `duplicate_repo`.
- Используйте `InferenceEndpointType.AUTHENTICATED` или `type="authenticated"` вместо `PROTECTED` или `type="protected"`.
- Используйте `text_generation(stop=...)` вместо `stop_sequences=...`, а в `InferenceClient` передавайте строку токена или `None` вместо булева значения.
- Используйте `hf` вместо `huggingface-cli`; `hf repo` и `hf repo-files delete` заменены на `hf repos` и `hf repos delete-files`.
- Используйте `hf upload` вместо `hf upload-large-folder`; используйте `--volume` вместо `--storage` для создания и дублирования репозиториев, а также `--status` или `--label` вместо `hf jobs ps --filter`.
- Устаревший параметр `--claude` для команд `hf skills add` и `hf skills update` удалён. Навыки теперь устанавливаются для Claude Code автоматически.

Для дополнительного контекста см. проект [`httpx2`](https://github.com/pydantic/httpx2), документацию [`httpx2`](https://pydantic.dev/docs/httpx2/), руководство по переходу [от `httpx` к `httpx2`](https://httpx2.pydantic.dev/migration/) в исходном проекте и план перехода [`huggingface_hub`](https://github.com/huggingface/huggingface_hub/issues/4802).

