{"id":"src_8CQoUZraeopI0Npl6YcHz","slug":"huggingface-hub","name":"huggingface_hub","type":"github","url":"https://github.com/huggingface/huggingface_hub","orgId":"org_GDdYeYynEgCEBNBwy-m6s","org":{"slug":"hugging-face","name":"Hugging Face"},"isPrimary":false,"metadata":"{\"evaluatedMethod\":\"github\",\"evaluatedAt\":\"2026-04-07T17:19:15.148Z\",\"changelogDetectedAt\":\"2026-04-07T17:28:11.758Z\"}","releaseCount":105,"releasesLast30Days":9,"avgReleasesPerWeek":1.5,"latestVersion":"v1.11.0","latestDate":"2026-04-16T12:16:19.000Z","changelogUrl":null,"hasChangelogFile":false,"lastFetchedAt":"2026-04-19T07:02:02.439Z","trackingSince":"2023-12-20T11:46:46.000Z","releases":[{"id":"rel_yXJaHBJDwmowE6G0P3-bZ","version":"v1.11.0","title":"[v1.11.0] Semantic Spaces search, Space logs, and more","summary":"## 🔍 Semantic search for Spaces\r\n\r\nDiscover Spaces using natural language. The new `search_spaces()` API and `hf spaces search` CLI use embedding-bas...","content":"## 🔍 Semantic search for Spaces\r\n\r\nDiscover Spaces using natural language. The new `search_spaces()` API and `hf spaces search` CLI use embedding-based semantic search to find relevant Spaces based on what they do - not just keyword matching on their name.\r\n\r\n```python\r\n>>> from huggingface_hub import search_spaces\r\n\r\n>>> results = search_spaces(\"remove background from photo\")\r\n>>> for space in results:\r\n...     print(f\"{space.id} (score: {space.score:.2f})\")\r\nbriaai/BRIA-RMBG-1.4 (score: 0.87)\r\n```\r\n\r\nThe same capability is available in the CLI:\r\n\r\n```bash\r\n$ hf spaces search \"remove background from photo\" --limit 3\r\nID                           TITLE                 SDK    LIKES STAGE   CATEGORY           SCORE\r\n---------------------------- --------------------- ------ ----- ------- ------------------ -----\r\nnot-lain/background-removal  Background Removal    gradio 2794  RUNNING Image Editing      0.85 \r\nbriaai/BRIA-RMBG-2.0         BRIA RMBG 2.0         gradio 918   RUNNING Background Removal 0.84 \r\nXenova/remove-background-web Remove Background Web static 739   RUNNING Background Removal 0.81 \r\nHint: Use --description to show AI-generated descriptions.\r\n\r\n# Filter by SDK, get JSON with descriptions\r\n$ hf spaces search \"chatbot\" --sdk gradio --description --json --limit 1 | jq\r\n[\r\n  {\r\n    \"id\": \"BarBar288/Chatbot\",\r\n    \"title\": \"Chatbot\",\r\n    \"sdk\": \"gradio\",\r\n    \"likes\": 4,\r\n    \"stage\": \"RUNNING\",\r\n    \"category\": \"Other\",\r\n    \"score\": 0.5,\r\n    \"description\": \"Perform various AI tasks like chat, image generation, and text-to-speech\"\r\n  }\r\n]\r\n```\r\n\r\n- [Add `hf spaces` command with semantic search](https://github.com/huggingface/huggingface_hub/pull/4094) by @Wauplin in #4094\r\n\r\n## 📜 Programmatic access to Space logs\r\n\r\nWhen a Space fails to build or crashes at runtime, you can now retrieve the logs programmatically — no need to open the browser. This is particularly useful for agentic workflows that need to debug Space failures autonomously.\r\n\r\n```python\r\n>>> from huggingface_hub import fetch_space_logs\r\n\r\n# Run logs (default)\r\n>>> for line in fetch_space_logs(\"username/my-space\"):\r\n...     print(line, end=\"\")\r\n\r\n# Build logs — for BUILD_ERROR debugging\r\n>>> for line in fetch_space_logs(\"username/my-space\", build=True):\r\n...     print(line, end=\"\")\r\n\r\n# Stream in real time\r\n>>> for line in fetch_space_logs(\"username/my-space\", follow=True):\r\n...     print(line, end=\"\")\r\n```\r\n\r\nThe CLI equivalent:\r\n\r\n```bash\r\n$ hf spaces logs username/my-space              # run logs\r\n$ hf spaces logs username/my-space --build      # build logs\r\n$ hf spaces logs username/my-space -f           # stream in real time\r\n$ hf spaces logs username/my-space -n 50        # last 50 lines\r\n```\r\n\r\n\r\n- [Add `fetch_space_logs` + `hf spaces logs` command](https://github.com/huggingface/huggingface_hub/pull/4091) by @davanstrien in #4091\r\n\r\n## 🖥️ CLI output standardization continues\r\n\r\nThis release continues the CLI output migration [started in v1.9](https://github.com/huggingface/huggingface_hub/releases/tag/v1.9.0), bringing 11 more command groups to the unified `--format` flag. The old `--quiet` flags on migrated commands are replaced by `--format quiet`.\r\n\r\n```bash\r\n$ hf cache ls                          # auto-detect (human or agent)\r\n$ hf cache ls --format json            # structured JSON\r\n$ hf cache ls --format quiet           # minimal output, great for piping\r\n$ hf upload my-model . .               # auto-detect (human or agent)\r\n```\r\n\r\nConfirmation prompts (e.g., `hf cache rm`, `hf repos delete`, `hf buckets delete`) are now mode-aware: they prompt in human mode, and require `--yes` in agent/json/quiet modes - no more hanging scripts.\r\n\r\nCommands migrated in this release: `collections`, `discussions`, `extensions`, `endpoints`, `webhooks`, `cache`, `repos`, `repo-files`, `download`, `upload`, and `upload-large-folder`. Remaining commands (`jobs`, `buckets`, `auth login/logout`) will follow in a future release.\r\n\r\n\r\n- [Migrate `collections`, `discussions`, `extensions`, `endpoints` and `webhooks` to `out` singleton](https://github.com/huggingface/huggingface_hub/pull/4057) by @hanouticelina in #4057\r\n- [Migrate `hf cache` to `out` singleton](https://github.com/huggingface/huggingface_hub/pull/4070) by @hanouticelina in #4070\r\n- [Add `out.confirm()` and migrate all confirmation prompts](https://github.com/huggingface/huggingface_hub/pull/4083) by @hanouticelina in #4083\r\n- [Migrate `repos` and `repo-files` to `out` singleton + add confirmation to `hf repos delete`](https://github.com/huggingface/huggingface_hub/pull/4097) by @hanouticelina in #4097\r\n- [Migrate `download`, `upload`, `upload-large-folder` to `out` singleton](https://github.com/huggingface/huggingface_hub/pull/4100) by @hanouticelina in #4100\r\n\r\n## 📦 Space volumes management from the CLI\r\n\r\nA new `hf spaces volumes` command group lets you manage volumes mounted in Spaces directly from the command line — list, set, and delete using the familiar `-v`/`--volume` syntax.\r\n\r\n```bash\r\n# List mounted volumes\r\n$ hf spaces volumes ls username/my-space\r\nTYPE    SOURCE                MOUNT_PATH READ_ONLY\r\n------- --------------------- ---------- ---------\r\nmodel   gpt2                  /data      ✔\r\ndataset badlogicgames/pi-mono /data2     ✔\r\n\r\n# Set volumes\r\n$ hf spaces volumes set username/my-space -v hf://buckets/username/my-bucket:/data\r\n$ hf spaces volumes set username/my-space -v hf://models/username/my-model:/models\r\n\r\n# Delete all volumes\r\n$ hf spaces volumes delete username/my-space\r\n```\r\n\r\n- [Add `hf spaces volumes` commands](https://github.com/huggingface/huggingface_hub/pull/4109) by @Wauplin in #4109\r\n\r\n## 🔧 More CLI improvements\r\n\r\n**`hf auth token`** - Prints the current token to stdout, handy for piping into other commands:\r\n\r\n```bash\r\n$ hf auth token\r\nhf_xxxx\r\nHint: Run `hf auth whoami` to see which account this token belongs to.\r\n\r\n# Use it in a curl call\r\n$ hf auth token | xargs -I {} curl -H \"Authorization: Bearer {}\" https://huggingface.co/api/whoami-v2\r\n```\r\n\r\n- [Add `hf auth token` command](https://github.com/huggingface/huggingface_hub/pull/4104) by @Wauplin in #4104\r\n\r\n## 💔 Breaking change\r\n\r\n**`model_name` deprecated in `list_models`** - Use `search` instead. Both were always equivalent (both map to `?search=...` in the API), but now `model_name` emits a deprecation warning. Removal is planned for 2.0.\r\n\r\n```python\r\n# Before\r\n>>> list_models(model_name=\"gemma\")\r\n\r\n# After\r\n>>> list_models(search=\"gemma\")\r\n```\r\n\r\nThe CLI is not affected - `hf models ls` already uses `--search`.\r\n\r\n- [Deprecate `model_name` in favor of `search` in `list_models`](https://github.com/huggingface/huggingface_hub/pull/4112) by @Wauplin in #4112\r\n\r\n## 🔧 Other improvements\r\n\r\n- [Support kernels in `list_liked_repos`](https://github.com/huggingface/huggingface_hub/pull/4078) by @Wauplin in #4078\r\n\r\n## 🐛 Bug fixes\r\n\r\n- [Fix copy file to folder](https://github.com/huggingface/huggingface_hub/pull/4075) by @Wauplin in #4075\r\n- [Match Unix `cp -r` nesting semantics in `copy_files`](https://github.com/huggingface/huggingface_hub/pull/4081) by @Wauplin in #4081\r\n- [Ignore `.gitattributes` when copying repo files to a bucket](https://github.com/huggingface/huggingface_hub/pull/4082) by @Wauplin in #4082\r\n- [Fix reference cycle in `hf_raise_for_status` causing delayed object destruction](https://github.com/huggingface/huggingface_hub/pull/4092) by @Wauplin in #4092\r\n- [Fix `repo delete` tests missing `--yes` flag](https://github.com/huggingface/huggingface_hub/pull/4101) by @hanouticelina in #4101\r\n\r\n## 📖 Documentation\r\n\r\n- [Update copy files CLI docs](https://github.com/huggingface/huggingface_hub/pull/4095) by @Wauplin in #4095\r\n- [Fix copy files docs](https://github.com/huggingface/huggingface_hub/pull/4096) by @Wauplin in #4096\r\n- [Give manage-spaces walkthrough steps real headings](https://github.com/huggingface/huggingface_hub/pull/4108) by @davanstrien in #4108\r\n- [Clarify that `-v`/`--volume` accepts multiple volumes](https://github.com/huggingface/huggingface_hub/pull/4113) by @davanstrien in #4113\r\n\r\n## 🏗️ Internal\r\n\r\n- [[CI] Fix Opencode checksum validation](https://github.com/huggingface/huggingface_hub/pull/4073) by @Wauplin in #4073\r\n- [Post-release: bump version to 1.11.0.dev0](https://github.com/huggingface/huggingface_hub/pull/4074) by @huggingface-hub-bot[bot] in #4074\r\n- [[Release] Notify PRs included in a release](https://github.com/huggingface/huggingface_hub/pull/4077) by @Wauplin in #4077\r\n- [Update staging CI user](https://github.com/huggingface/huggingface_hub/pull/4093) by @Wauplin in #4093\r\n- [Remove unused inputs from release workflow](https://github.com/huggingface/huggingface_hub/pull/4098) by @Wauplin in #4098\r\n- [Bump doc-builder SHA for PR upload workflow](https://github.com/huggingface/huggingface_hub/pull/4103) by @rtrompier in #4103\r\n- [[Internal] Update AGENTS.md](https://github.com/huggingface/huggingface_hub/pull/4110) by @Wauplin in #4110\r\n","publishedAt":"2026-04-16T12:16:19.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.11.0","media":[]},{"id":"rel_XbchXL2o88m0ljS-ZzT03","version":"v1.10.2","title":"[v1.10.2] Fix reference cycle in hf_raise_for_status","summary":"- Fix reference cycle in hf_raise_for_status causing delayed object destruction by @Wauplin in #4092\r\n\r\n**Full Changelog**: https://github.com/hugging...","content":"- Fix reference cycle in hf_raise_for_status causing delayed object destruction by @Wauplin in #4092\r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v1.10.1...v1.10.2","publishedAt":"2026-04-14T10:45:28.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.10.2","media":[]},{"id":"rel_VxDFpT09aEDo7JAtfkM02","version":"v1.10.1","title":"[v1.10.1] Fix copy file to folder","summary":"- Fix copy file to folder (#4075)\r\n- [CLI ]Improving a bit hf CLI discoverability (#4079) \r\n- Support kernels in list_liked_repos (#4078) \r\n\r\n**Full C...","content":"- Fix copy file to folder (#4075)\r\n- [CLI ]Improving a bit hf CLI discoverability (#4079) \r\n- Support kernels in list_liked_repos (#4078) \r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v1.10.0...v1.10.1","publishedAt":"2026-04-09T15:05:52.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.10.1","media":[]},{"id":"rel_PBYQRojy9DB4rlLzZegvL","version":"v1.10.0","title":"[v1.10.0] Instant file copy and new Kernel repo type","summary":"## 📁 Instant file copy between Buckets and Repositories\r\n\r\nThis release introduces server-side file copy operations that let you move data between Hu...","content":"## 📁 Instant file copy between Buckets and Repositories\r\n\r\nThis release introduces server-side file copy operations that let you move data between Hugging Face storage without downloading and re-uploading. You can now copy files from one Bucket to another, from a repository (model, dataset, or Space) to a Bucket, or between Buckets — all without bandwidth costs. Files tracked with Xet are copied directly by hash (no data transfer), while small text files not tracked with Xet are automatically downloaded and re-uploaded.\r\n\r\n```python\r\n>>> from huggingface_hub import copy_files\r\n\r\n# Bucket to bucket (same or different bucket)\r\n>>> copy_files(\r\n...     \"hf://buckets/username/source-bucket/checkpoints/model.safetensors\",\r\n...     \"hf://buckets/username/destination-bucket/archive/model.safetensors\",\r\n... )\r\n\r\n# Repo to bucket\r\n>>> copy_files(\r\n...     \"hf://datasets/username/my-dataset/processed/\",\r\n...     \"hf://buckets/username/my-bucket/datasets/processed/\",\r\n... )\r\n```\r\n\r\nThe same capability is available in the CLI:\r\n\r\n```bash\r\n# Bucket to bucket\r\n>>> hf buckets cp hf://buckets/username/source-bucket/logs/ hf://buckets/username/archives/logs/\r\n\r\n# Repo to bucket\r\n>>> hf buckets cp hf://datasets/username/my-dataset/data/train/ hf://buckets/username/my-bucket/datasets/train/\r\n```\r\n\r\nNote that copying files from a Bucket to a Repository is not yet supported.\r\n\r\n📚 **Documentation:** [Buckets guide](https://huggingface.co/docs/huggingface_hub/main/en/guides/buckets#copy-files-to-bucket)\r\n\r\n- [`HfApi.copy_files` method to copy files remotely and update 'hf buckets cp'](https://github.com/huggingface/huggingface_hub/pull/3874) by @Wauplin in #3874\r\n- [Add bucket to collection](https://github.com/huggingface/huggingface_hub/pull/4041) by @coyotte508 in #4041\r\n\r\n## ⚛️ Introducing Kernel repositories\r\n\r\n> [!TIP]\r\n> For building, publishing, and using kernel repos, please use the dedicated [`kernels`](https://github.com/huggingface/kernels) package.\r\n\r\nThe Hub now supports a new `kernel` repository type for hosting compute kernels. This release adds first-class (but explicitly limited) support for interacting with kernel repos via the Python API. Only a subset of methods are officially supported: `kernel_info`, `hf_hub_download`, `snapshot_download`, `list_repo_refs`, `list_repo_files`, and `list_repo_tree`. Creation and deletion are also supported but restricted to a small subset of allowed users and organizations on the Hub.\r\n\r\n```python\r\n>>> from huggingface_hub import kernel_info\r\n>>> kernel_info(\"kernels-community/yoso\")\r\nKernelInfo(id='kernels-community/yoso', author='kernels-community', downloads=0, gated=False, last_modified=datetime.datetime(2026, 4, 3, 22, 27, 25, tzinfo=datetime.timezone.utc), likes=0, private=False)\r\n```\r\n\r\n📚 **Documentation:** [Repository guide](https://huggingface.co/docs/huggingface_hub/main/en/guides/repository#kernel-repositories)\r\n\r\n- [[Kernels] Minimal kernel repo type support (create/delete, download files, list refs/files/tree)](https://github.com/huggingface/huggingface_hub/pull/4068) by @drbh in #4068\r\n\r\n## 📖 Documentation\r\n\r\n- [[Docs] Fix outdated docs](https://github.com/huggingface/huggingface_hub/pull/4055) by @hanouticelina in #4055\r\n\r\n## 🐛 Bug and typo fixes\r\n\r\n- [Fix custom `tqdm_class` silently broken in non-TTY environments](https://github.com/huggingface/huggingface_hub/pull/4056) by @hanouticelina in #4056\r\n- [Fix set_space_volumes sending bare array instead of object](https://github.com/huggingface/huggingface_hub/pull/4054) by @davanstrien in #4054\r\n- [Fix set_space_volume / delete_space_volume return types](https://github.com/huggingface/huggingface_hub/pull/4061) by @abidlabs in #4061\r\n\r\n## 🏗️ Internal\r\n\r\n- [[CI] Slack-message reads draft release from GitHub directly](https://github.com/huggingface/huggingface_hub/pull/4044) by @Wauplin in #4044\r\n- [[CI] Fix upgrading release notes to latest release](https://github.com/huggingface/huggingface_hub/pull/4045) by @Wauplin in #4045\r\n- [Add live Slack notifications to release workflow](https://github.com/huggingface/huggingface_hub/pull/4046) by @Wauplin in #4046\r\n- [Post-release: bump version to 1.10.0.dev0](https://github.com/huggingface/huggingface_hub/pull/4047) by @huggingface-hub-bot[bot] in #4047\r\n- [skills publish script run in action to sync up descriptions etc.](https://github.com/huggingface/huggingface_hub/pull/4048) by @evalstate in #4048\r\n- [[CI] Harden release workflow permissions and inputs](https://github.com/huggingface/huggingface_hub/pull/4072) by @Wauplin in #4072\r\n- [[CI] Fix Opencode checksum validation](https://github.com/huggingface/huggingface_hub/pull/4073) by @Wauplin in #4073","publishedAt":"2026-04-09T12:30:35.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.10.0","media":[]},{"id":"rel_9OTjDzDAmUUy0xuIzOh61","version":"v1.9.2","title":"[v1.9.2] Fix set_space_volume / delete_space_volume return types","summary":"- Fix set_space_volume / delete_space_volume return types #4061 by @abidlabs @Wauplin \r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingfa...","content":"- Fix set_space_volume / delete_space_volume return types #4061 by @abidlabs @Wauplin \r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v1.9.1...v1.9.2","publishedAt":"2026-04-08T08:44:48.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.9.2","media":[]},{"id":"rel_YWp9eLDoO07f1M_1LUUbC","version":"v1.9.1","title":"[v1.9.1] Fix: `set_space_volumes` sending bare array instead of object","summary":"\r\n- Fix `set_space_volumes` sending bare array instead of object #4054 by @davanstrien \r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingf...","content":"\r\n- Fix `set_space_volumes` sending bare array instead of object #4054 by @davanstrien \r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v1.9.0...v1.9.1","publishedAt":"2026-04-07T13:50:34.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.9.1","media":[]},{"id":"rel_eDUA4eTugGOL0AW61yhb7","version":"v1.9.0","title":"[v1.9.0] Agent-Aware CLI, Spaces Volumes, and more","summary":"## 🚀 Spaces Volumes: Mount Models, Datasets, and Buckets Directly\r\n\r\nHugging Face Spaces now support mounting volumes, giving your Space direct files...","content":"## 🚀 Spaces Volumes: Mount Models, Datasets, and Buckets Directly\r\n\r\nHugging Face Spaces now support mounting volumes, giving your Space direct filesystem access to models, datasets, and storage buckets. This replaces the deprecated persistent storage feature.\r\n\r\n```python\r\nfrom huggingface_hub import HfApi, Volume\r\n\r\napi = HfApi()\r\napi.set_space_volumes(\r\n    repo_id=\"username/my-space\",\r\n    volumes=[\r\n        Volume(type=\"model\", source=\"username/my-model\", mount_path=\"/models\", read_only=True),\r\n        Volume(type=\"bucket\", source=\"username/my-bucket\", mount_path=\"/data\"),\r\n    ],\r\n)\r\n```\r\n\r\nVolumes can also be set at creation time via `create_repo(space_volumes=...)` and `duplicate_repo(space_volumes=...)`, and from the CLI with the `--volume` / `-v` flag:\r\n\r\n```bash\r\n# Create a Space with volumes mounted\r\nhf repos create my-space --type space --space-sdk gradio \\\r\n    -v hf://gpt2:/models -v hf://buckets/org/b:/data\r\n\r\n# Duplicate a Space with volumes\r\nhf repos duplicate org/my-space my-space --type space \\\r\n    -v hf://gpt2:/models -v hf://buckets/org/b:/data\r\n```\r\n\r\n- Add support for mounted volumes by @Wauplin in #4018\r\n- Support volumes at repo creation and duplication by @Wauplin in #4035\r\n\r\n## 🤖 The `hf` CLI Now Auto-Detects AI Agents and Adapts Its Output\r\n\r\nAI coding agents (Claude Code, Cursor, Codex, Copilot, Gemini, ...) increasingly use the `hf` CLI to interact with the Hub. Until now, the output was designed for humans - ANSI colors, padded tables, emoji booleans, truncated cells - making it hard for agents to parse reliably.\r\n\r\nStarting with v1.9, the CLI **automatically detects when it's running inside an agent** and adapts its output: no ANSI, no truncation, tab-separated tables, compact JSON, full timestamps. No configuration needed - it just works. This is only a first step toward making the `hf` CLI the primary entry point to the Hugging Face Hub for AI agents!\r\n\r\nAgent mode is auto-detected but you can also force a mode explicitly with `--format`:\r\n\r\n```bash\r\nhf models ls --limit 5                  # auto-detect\r\nhf models ls --limit 5 --format agent   # force agent-friendly output\r\nhf models ls --limit 5 --format json    # structured JSON\r\nhf models ls --limit 5 --format quiet   # IDs only, great for piping\r\n```\r\n\r\nHere's what an agent sees compared to a human:\r\n\r\n**`hf auth whoami`**\r\n```\r\n# Human\r\n✓ Logged in\r\n  user: Wauplin\r\n  orgs: huggingface, awesome-org\r\n\r\n# Agent\r\nuser=Wauplin orgs=huggingface,awesome-org\r\n\r\n# JSON\r\n{\"user\": \"Wauplin\", \"orgs\": [\"huggingface\", \"awesome-org\"]}\r\n```\r\n\r\n**`hf models ls --author google --limit 3`**\r\n```\r\n# Human\r\nID                         DOWNLOADS TRENDING_SCORE\r\n-------------------------- --------- --------------\r\ngoogle/embeddinggemma-300m 1213145   17            \r\ngoogle/gemma-3-4b-it       1512637   16            \r\ngoogle/gemma-3-27b-it      988618    12   \r\n\r\n# Agent (TSV, no truncation, no ANSI)\r\nid      downloads       trending_score\r\ngoogle/embeddinggemma-300m      1213145 17\r\ngoogle/gemma-3-4b-it    1512637 16\r\ngoogle/gemma-3-27b-it   988618  12\r\n```\r\n\r\n**`hf models info google/gemma-3-27b-it`**\r\n```\r\n# Human — pretty-printed JSON (indent=2)\r\n{\r\n  \"id\": \"google/gemma-3-27b-it\",\r\n  \"author\": \"google\",\r\n  ...\r\n}\r\n\r\n# Agent — compact JSON (~40% fewer tokens)\r\n{\"id\": \"google/gemma-3-27b-it\", \"author\": \"google\", \"card_data\": ...}\r\n```\r\n\r\nCommands migrated so far: `hf models ls|info`, `hf datasets ls|info|parquet|sql`, `hf spaces ls|info`, `hf papers ls|search|info`, `hf auth whoami`. **More commands will be migrated soon**\r\n\r\n- Add `out` output singleton with agent/human mode rendering by @hanouticelina in #4005\r\n- Migrate `models`, `datasets`, `spaces`, `papers` to `out` singleton by @hanouticelina in #4026\r\n- Add `FormatWithAutoOpt` with callback to auto-set output mode by @hanouticelina in #4028\r\n- Add tests for `out` output singleton by @hanouticelina in #4020\r\n- Add agent detection helpers by @hanouticelina in #4015\r\n- Enrich CLI errors with available options and commands by @hanouticelina in #4034\r\n\r\n## 🧩 Install Agent Skills from the Hugging Face Marketplace\r\n\r\nThe `hf skills add` command now supports installing skills directly from the Hugging Face skills marketplace (https://github.com/huggingface/skills) - pre-built tools that give AI agents new capabilities.\r\n\r\n```bash\r\n# Install a marketplace skill\r\nhf skills add gradio\r\n\r\n# Install with Claude Code integration\r\nhf skills add huggingface-gradio --claude\r\n\r\n# Upgrade all installed skills\r\nhf skills upgrade\r\n```\r\n\r\n- Support skills from hf skills by @burtenshaw in #3956\r\n- Improve `hf` CLI skill description for better agent triggering by @hanouticelina in #3973\r\n\r\n## 🔧 More CLI Improvements\r\n\r\n- Auto-install official HF CLI extensions on first invocation by @hanouticelina in #4007\r\n- Add `summary` field to `hf papers search` CLI output by @Wauplin in #4006\r\n- Interactive CLI autoupdate prompt by @Wauplin in #3983\r\n\r\n## 🔧 Other Improvements\r\n\r\n- Clarify 404 access guidance in errors by @Pierrci in #4010\r\n- Add `HF_HUB_DISABLE_SYMLINKS` env variable to force no-symlink cache by @Wauplin in #4032\r\n- Add CACHEDIR.TAG to cache directories by @Wauplin in #4030\r\n- Support None type in strict dataclass by @Wauplin in #3987\r\n- Reject `bool`/`int` cross-type confusion in `@strict` dataclass validation by @Wauplin in #3992\r\n\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- Fix PyTorchModelHubMixin not calling eval() on safetensors load by @joaquinhuigomez in #3997\r\n- Bump to hf-xet 1.4.3 and add regression test by @Wauplin in #4019\r\n- Validate shard filenames in sharded checkpoint index files by @Wauplin in #4033\r\n- Fix test_create_commit_conflict test by @Wauplin in #3986\r\n- Do not scan CACHEDIR.TAG file in cache by @Wauplin in #4036\r\n- Deduplicate repo folder name generation logic by @cphlipot in #4024\r\n\r\n## 📖 Documentation\r\n\r\n- Add tip about AI agents skill to CLI guide by @gary149 in #3970\r\n- Link to Hub local cache docs from manage-cache guide by @Wauplin in #3989\r\n- Note that environment variables are read at import time by @Wauplin in #3990\r\n- Add DatasetLeaderboardEntry and EvalResultEntry to docs reference by @pcuenca in #3982\r\n- Fix typos and outdated references in CONTRIBUTING.md by @GopalGB in #4009\r\n- no explicit models/ in hf:// protocol by @lhoestq in #3980\r\n- Add `CLAUDE.md` symlink pointing to `AGENTS.md` by @hanouticelina in #4013\r\n\r\n\r\n## 🏗️ Internal\r\n- Bump minimum Python version from 3.9 to 3.10 by @hanouticelina in #4008\r\n- Use `match`/`case` statements where appropriate by @hanouticelina in #4012\r\n- Fix `ty` type-checking errors after latest release by @hanouticelina in #3978\r\n- Prepare for v1.9 release by @Wauplin in #3988\r\n- Update python-release.yml by @hf-security-analysis[bot] in #4011\r\n- Pin GitHub Actions to commit SHAs by @paulinebm in #4029\r\n- Remove claude.yml workflow file by @hf-security-analysis[bot] in #4031\r\n- Generate slack message for prerelease by @Wauplin in #3976\r\n","publishedAt":"2026-04-02T15:59:04.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.9.0","media":[]},{"id":"rel_THIXnvh0GZxg-pfgTIZSX","version":"v1.8.0","title":"[v1.8.0] Mounted volumes on Jobs, complete papers CLI, and more","summary":"## 🚀 Jobs can now mount volumes\r\n\r\nJobs can now access Hugging Face repositories (models, datasets, Spaces) and Storage Buckets directly as mounted v...","content":"## 🚀 Jobs can now mount volumes\r\n\r\nJobs can now access Hugging Face repositories (models, datasets, Spaces) and Storage Buckets directly as mounted volumes in their containers. This enables powerful workflows like running queries directly against datasets, loading models without explicit downloads, and persisting training checkpoints to buckets.\r\n\r\n```python\r\nfrom huggingface_hub import run_job, Volume\r\n\r\njob = run_job(\r\n    image=\"duckdb/duckdb\",\r\n    command=[\"duckdb\", \"-c\", \"SELECT * FROM '/data/**/*.parquet' LIMIT 5\"],\r\n    volumes=[\r\n        Volume(type=\"dataset\", source=\"HuggingFaceFW/fineweb\", mount_path=\"/data\"),\r\n    ],\r\n)\r\n```\r\n\r\n```bash\r\nhf jobs run -v hf://datasets/HuggingFaceFW/fineweb:/data duckdb/duckdb duckdb -c \"SELECT * FROM '/data/**/*.parquet' LIMIT 5\"\r\n```\r\n\r\n- Add volume mounting support for buckets and repos by @XciD in #3936\r\n\r\n## 📖 Papers CLI is now complete\r\n\r\nThe `hf papers` command now has full functionality: search papers by keyword, get structured JSON metadata, and read the full paper content as markdown. The `ls` command is also enhanced with new filters for week, month, and submitter.\r\n\r\n```bash\r\n# Search papers\r\nhf papers search \"vision language\"\r\n\r\n# Get metadata\r\nhf papers info 2601.15621\r\n\r\n# Read as markdown\r\nhf papers read 2601.15621\r\n```\r\n\r\n- Complete `hf papers` with search, info, read + ls filters by @mishig25 in #3952\r\n\r\n## 🖥️ CLI repo ID shorthand\r\n\r\nYou can now use repo ID prefixes like `spaces/user/repo`, `datasets/user/repo`, and `models/user/repo` as a shorthand for `user/repo --type space`. This works automatically for all CLI commands that accept a `--type` flag.\r\n\r\n```bash\r\n# Before\r\nhf download user/my-space --type space\r\nhf discussions list user/my-dataset --type dataset\r\n\r\n# After\r\nhf download spaces/user/my-space\r\nhf discussions list datasets/user/my-dataset\r\n```\r\n\r\n- Accept `spaces/user/repo` as repo ID prefix shorthand by @Wauplin in #3929\r\n\r\n## 🔧 More repo visibility options\r\n\r\nRepositories can now be created or updated with explicit visibility settings (`--public`, `--protected`) alongside the existing `--private` flag. This adds a `visibility` parameter to `HfApi.create_repo`, `update_repo_settings`, and `duplicate_repo`, with `--protected` available for Spaces only.\r\n\r\nProtected Spaces allow for private code while being publicly accessible.\r\n\r\n- Add `visibility` parameter to `HfApi` repo create/update/duplicate methods by @hanouticelina in #3951\r\n\r\n## 🖥️ CLI\r\n\r\n- Add space-specific options to `hf repos create` and `hf repos duplicate` by @Wauplin in #3888\r\n- Add `--format json` to `hf auth whoami` by @hanouticelina in #3938 — [docs](https://huggingface.co/docs/huggingface_hub/main/en/package_reference/cli)\r\n- Expand nested groups, inline flags & common options glossary in `SKILL.md` by @hanouticelina in #3941\r\n- Include common options inline in generated `SKILL.md` by @hanouticelina in #3955\r\n- Fix `hf extensions install` on uv-managed Python by using uv when available by @hanouticelina in #3957\r\n- Add dataset leaderboard method to HfApi by @davanstrien in #3953\r\n- More explicit spaces hot-reload docs by @cbensimon in #3964\r\n- Update hardware flavors with HF Hub (cpu-performance, sprx8, h200, inf2x6) by @cbensimon in #3965 — [docs](https://huggingface.co/docs/huggingface_hub/main/en/package_reference/cli)\r\n\r\n## 🔧 Other QoL Improvements\r\n\r\n- Rename `.env` to `.venv` in virtual environment instructions by @julien-c in #3939 — [docs](https://huggingface.co/docs/huggingface_hub/main/en/installation)\r\n- Fix typo in `--every` help text by @julien-c in #3950\r\n- More robust stream to stdout in `hf cp` command by @Wauplin in #3968\r\n\r\n## 🐛 Bug and typo fixes\r\n\r\n- Use module logger consistently and narrow bare except clauses by @mango766 in #3924\r\n- Fix HfFileSystem glob in missing subdir by @lhoestq in #3935\r\n\r\n## 🏗️ Internal\r\n\r\n- Remove conda workflow by @Wauplin in #3928\r\n- Replace `huggingface-cli` with `hf` in brew upgrade command by @hanouticelina in #3946\r\n- Fix version check message leaking into generated `SKILL.md` by @hanouticelina in #3949\r\n- Mention `hf-mount` in CLI skill by @hanouticelina in #3966\r\n- Use `huggingface-hub-bot` for post-release PR creation in `release.yml` by @Wauplin in #3967","publishedAt":"2026-03-25T15:46:22.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.8.0","media":[]},{"id":"rel_bMwltdOkZcz3npra44VKM","version":"v1.7.2","title":"[1.7.2] `hf` CLI skill improvements, `uv` extension installs & bug fixes","summary":"## 🛠️ CLI improvements\r\n\r\n`hf` CLI skill now fully expands subcommand groups and inlines all flags and options, making the CLI self-describing and ea...","content":"## 🛠️ CLI improvements\r\n\r\n`hf` CLI skill now fully expands subcommand groups and inlines all flags and options, making the CLI self-describing and easier for agents to discover.\r\n\r\n  \r\n\r\n- Expand nested groups, inline flags & common options glossary in SKILL.md (#3941) by @hanouticelina\r\n- include common options inline (#3955) by @hanouticelina\r\n\r\n`hf extension install` now uses `uv` for Python extension installation when available making extension installation faster:\r\n```bash\r\n\r\n> hyperfine \"hf extensions install alvarobartt/hf-mem --force\"\r\n# Before\r\nBenchmark 1: hf extensions install alvarobartt/hf-mem --force\r\n  Time (mean ± σ):      3.490 s ±  0.220 s    [User: 1.925 s, System: 0.445 s]\r\n  Range (min … max):    3.348 s …  4.097 s    10 runs\r\n\r\n# After\r\nBenchmark 1: hf extensions install alvarobartt/hf-mem --force\r\n  Time (mean ± σ):     519.6 ms ± 119.7 ms    [User: 216.6 ms, System: 95.2 ms]\r\n  Range (min … max):   371.6 ms … 655.2 ms    10 runs\r\n\r\n\r\n```\r\n \r\n- Use uv python extension installation when available (#3957) by @hanouticelina\r\n\r\nOther QoL improvements:\r\n- Add `--format json` to `hf auth whoami` (#3938) by @hanouticelina\r\n- Replace `huggingface-cli` with `hf` in brew upgrade command (#3946) by @hanouticelina\r\n\r\n\r\n ## 🐛 Bug & Typo fixes \r\n\r\n  - Fix HfFileSystem glob in missing subdirectory (#3935) by @lhoestq\r\n  - Fix: use module logger consistently and narrow bare except clauses (#3924) by @mango766\r\n  - Fix typo in --every help text (#3950) by @julien-c\r\n\r\n  ## 📚 Docs\r\n  - Rename .env to .venv in virtual environment instructions (#3939) by @julien-c\r\n\r\n## 🏗️ Internal\r\n  - Remove conda workflow (#3928) by @Wauplin\r\n  - Fix version check message leaking into generated SKILL.md (#3949) by @hanouticelina\r\n\r\n  Full Changelog: https://github.com/huggingface/huggingface_hub/compare/v1.7.1...v1.7.2","publishedAt":"2026-03-20T11:25:19.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.7.2","media":[]},{"id":"rel_QHYElhoFXvbiBIT5vNlL0","version":"v1.7.0","title":"[v1.7.0] pip-installable CLI extensions and multiple QoL improvements","summary":"This release brings major improvements to the `hf` CLI with extension discoverability, unified list commands, and multiple QoL improvements in the CLI...","content":"This release brings major improvements to the `hf` CLI with extension discoverability, unified list commands, and multiple QoL improvements in the CLI.\r\n\r\n🎉  The Homebrew formula of the Hugging Face CLI has been renamed to `hf`. Existing users just need to `run brew update` - Homebrew handles the rename automatically. New users can install with `brew install hf`.\r\n\r\n## 🧩 CLI Extensions: pip-installable packages and discoverability\r\n\r\nThe `hf` CLI extensions system gets a major upgrade in this release. Extensions can now be full Python packages (with a `pyproject.toml`) installed in isolated virtual environments, in addition to the existing shell script approach. This means extension authors can use Python dependencies without conflicting with the user's system. The install command auto-detects whether a GitHub repo is a script or a Python package and handles both transparently.\r\n\r\nA new `hf extensions search` command lets users discover available extensions directly from the terminal by querying GitHub repositories tagged with the `hf-extension` topic. Results are sorted by stars and show whether each extension is already installed locally. Additionally, a comprehensive guide on how to build, publish, and make extensions discoverable has been added to the documentation.\r\n\r\n```bash\r\n# Install a Python-based extension\r\nhf extensions install alvarobartt/hf-mem\r\n\r\n# Discover available extensions\r\nhf extensions search\r\nNAME   REPO                    STARS DESCRIPTION                         INSTALLED\r\n------ ----------------------- ----- ----------------------------------- ---------\r\nclaude hanouticelina/hf-claude     2 Extension for `hf` CLI to launch... yes\r\nagents hanouticelina/hf-agents       HF extension to run local coding...\r\n```\r\n\r\n- [CLI] Add pip installable repos support to hf extensions by @Wauplin in #3892\r\n- [CLI] Add `hf extensions search` command by @julien-c in #3905\r\n- [Docs] How to build a CLI extension guide by @Wauplin in #3908\r\n\r\n📚 **Documentation:** [Create a CLI extension](https://huggingface.co/docs/huggingface_hub/main/en/guides/cli-extensions)\r\n\r\n## 🔐 `hf auth login` CLI update\r\n\r\nA new `--force` flag lets you explicitly go through the full login flow again when needed, for example to switch tokens.\r\n\r\n```bash\r\n# Already logged in — returns immediately\r\nhf auth login\r\n\r\n# Force re-login to switch tokens\r\nhf auth login --force\r\n```\r\n\r\n- Default to skipping login if already logged in and add `--force` flag by @hanouticelina in #3920\r\n\r\n📚 **Documentation:** [CLI guide](https://huggingface.co/docs/huggingface_hub/main/en/guides/cli#hf-auth-login)\r\n\r\n## 📦 Xet optimizations and fixes\r\n\r\n`hf-xet` has been bumped to `v1.4.2` with some optimizations:\r\n- Avoid duplicate sha256 computation when uploading to a model/dataset repo\r\n- Skip sha256 computation when uploading to a bucket\r\nThis should greatly improve upload speed of large files.\r\n\r\nThe `hf-xet` bump also comes with a fix for deadlocks / stall on large file downloads.\r\n\r\nSee [hf-xet release notes](https://github.com/huggingface/xet-core/releases/tag/v1.4.2) for more details.\r\n\r\n- feat: pass pre-computed SHA-256 to hf_xet upload by @XciD  in #3876\r\n- feat: pass skip_sha256=True to hf_xet for bucket uploads by @Wauplin in #3900\r\n\r\n## 🖥️ CLI QoL Improvements\r\n\r\n- Add num_parameters filtering to hf API and CLI by @evalstate in #3897 — [docs](https://huggingface.co/docs/huggingface_hub/main/en/guides/search)\r\n- [CLI] Normalize all list/ls commands to use `list | ls` alias by @julien-c in #3901\r\n- [CLI] Add --format and --quiet options to `hf papers ls` by @julien-c in #3903\r\n- [CLI] Add hidden `--json` shorthand for `--format json` by @Wauplin in #3919\r\n- Allow 'hf skills add' default directory by @Wauplin in #3923\r\n\r\n## 🔧 Other QoL Improvements\r\n\r\n- Add `used_storage` field to ModelInfo, DatasetInfo, and SpaceInfo by @julien-c in #3911\r\n- Make sure all expand attributes are official ModelInfo/DatasetInfo/SpaceInfo by @Wauplin in #3918\r\n\r\n## 📖 Documentation\r\n\r\n- [Docs] Update some community CLI examples by @Wauplin in #3899\r\n- [Docs] Update Homebrew install command to `hf` by @julien-c in #3902\r\n\r\n## 🐛 Bug and typo fixes\r\n\r\n- snapshot_download operation raises the generic exception even when actual error is different. by @pavankumarch470 in #3914\r\n\r\n## 🏗️ Internal\r\n\r\n- [Internal] Don't trigger Skills sync workflow on release candidate by @hanouticelina in #3893\r\n- [Internal] Fix skills path in Skills sync workflow by @hanouticelina in #3894\r\n- [CI] All-in-one Github Action for releases by @Wauplin in #3916","publishedAt":"2026-03-12T17:12:11.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.7.0","media":[]},{"id":"rel_op1-7DTZ0zbbzhKnH3puS","version":"v1.6.0","title":"[v1.6.0] New CLI commands, Bucket fsspec support, and more","summary":"This release brings significant new CLI commands for managing Spaces, Datasets, Discussions, and Webhooks, along with `HfFileSystem` support for Bucke...","content":"This release brings significant new CLI commands for managing Spaces, Datasets, Discussions, and Webhooks, along with `HfFileSystem` support for Buckets and a CLI extension system.\r\n\r\n## 🚀 New CLI commands\r\n\r\nWe've added several new CLI command groups to make interacting with the Hub even easier from your terminal.\r\n\r\n### New `hf spaces dev-mode` command\r\n\r\nYou can now enable or disable dev mode on Spaces directly from the CLI. When enabling dev mode, the command waits for the Space to be ready and prints connection instructions (web VSCode, SSH, local VSCode/Cursor). This makes iterating on Spaces much faster by allowing you to restart your application without stopping the Space container.\r\n\r\n```bash\r\n# Enable dev mode\r\nhf spaces dev-mode username/my-space\r\n\r\n# Disable dev mode\r\nhf spaces dev-mode username/my-space --stop\r\n```\r\n\r\n- Add `hf spaces dev-mode` command by @lhoestq in #3824\r\n\r\n### New `hf discussions` command group\r\n\r\nYou can now manage discussions and pull requests on the Hub directly from the CLI. This includes listing, viewing, creating, commenting on, closing, reopening, renaming, and merging discussions and PRs.\r\n\r\n```bash\r\n# List open discussions and PRs on a repo\r\nhf discussions list username/my-model\r\n\r\n# Create a new discussion\r\nhf discussions create username/my-model --title \"Feature request\" --body \"Description\"\r\n\r\n# Create a pull request\r\nhf discussions create username/my-model --title \"Fix bug\" --pull-request\r\n\r\n# Merge a pull request\r\nhf discussions merge username/my-model 5 --yes\r\n```\r\n\r\n- Add `hf discussions` command group by @Wauplin in #3855\r\n- Rename `hf discussions view` to `hf discussions info` by @Wauplin in #3878\r\n\r\n### New `hf webhooks` command group\r\n\r\nFull CLI support for managing Hub webhooks is now available. You can list, inspect, create, update, enable/disable, and delete webhooks directly from the terminal.\r\n\r\n```bash\r\n# List all webhooks\r\nhf webhooks ls\r\n\r\n# Create a webhook\r\nhf webhooks create --url https://example.com/hook --watch model:bert-base-uncased\r\n\r\n# Enable / disable a webhook\r\nhf webhooks enable webhook_id\r\nhf webhooks disable webhook_id\r\n\r\n# Delete a webhook\r\nhf webhooks delete webhook_id\r\n```\r\n\r\n- Add `hf webhooks` CLI commands by @omkar-334 in #3866\r\n\r\n### New `hf datasets parquet` and `hf datasets sql` commands\r\n\r\nTwo new commands make it easy to work with dataset parquet files. Use `hf datasets parquet` to discover parquet file URLs, then query them with `hf datasets sql` using DuckDB.\r\n\r\n```bash\r\n# List parquet URLs for a dataset\r\nhf datasets parquet cfahlgren1/hub-stats\r\nhf datasets parquet cfahlgren1/hub-stats --subset models --split train\r\n\r\n# Run SQL queries on dataset parquet\r\nhf datasets sql \"SELECT COUNT(*) FROM read_parquet('https://huggingface.co/api/datasets/...')\"\r\n```\r\n\r\n- Add `hf datasets parquet` and `hf datasets sql` commands by @cfahlgren1 in #3833\r\n\r\n### New `hf repos duplicate` command\r\n\r\nYou can now duplicate any repository (model, dataset, or Space) using a unified command. This replaces the previous `duplicate_space` method with a more general solution.\r\n\r\n```bash\r\n# Duplicate a Space\r\nhf repos duplicate multimodalart/dreambooth-training --type space\r\n\r\n# Duplicate a dataset\r\nhf repos duplicate openai/gdpval --type dataset\r\n```\r\n\r\n- Add `duplicate_repo` method and `hf repos duplicate` command by @Wauplin in #3880\r\n\r\n## 🪣 Bucket support in HfFileSystem\r\n\r\nThe HfFileSystem now supports buckets, providing S3-like object storage on Hugging Face. You can list, glob, download, stream, and upload files in buckets using the familiar fsspec interface.\r\n\r\n```python\r\nfrom huggingface_hub import hffs\r\n\r\n# List files in a bucket\r\nhffs.ls(\"buckets/my-username/my-bucket/data\")\r\n\r\n# Read a remote file\r\nwith hffs.open(\"buckets/my-username/my-bucket/data/file.txt\", \"r\") as f:\r\n    content = f.read()\r\n\r\n# Read file content as string\r\nhffs.read_text(\"buckets/my-username/my-bucket/data/file.txt\")\r\n```\r\n\r\n- Add bucket API support in HfFileSystem by @lhoestq in #3807\r\n- Add docs on `hf://buckets` by @lhoestq in #3875\r\n- Remove bucket warning in docs by @Wauplin in #3854\r\n\r\n## 📦 Extensions now support pip install\r\n\r\nThe `hf extensions` system now supports installing extensions as Python packages in addition to standalone executables. This makes it easier to distribute and install CLI extensions.\r\n\r\n```bash\r\n# Install an extension\r\n> hf extensions install hanouticelina/hf-claude\r\n> hf extensions install alvarobartt/hf-mem\r\n\r\n# List them\r\n> hf extensions list\r\nCOMMAND   SOURCE                  TYPE   INSTALLED  DESCRIPTION                        \r\n--------- ----------------------- ------ ---------- -----------------------------------\r\nhf claude hanouticelina/hf-claude binary 2026-03-06 Launch Claude Code with Hugging ...\r\nhf mem    alvarobartt/hf-mem      python 2026-03-06 A CLI to estimate inference memo...\r\n\r\n# Run extension\r\n> hf claude --help\r\nUsage: claude [options] [command] [prompt]\r\n\r\nClaude Code - starts an interactive session by default, use -p/--print for non-interactive output\r\n```\r\n\r\n- Add pip installable repos support to hf extensions by @Wauplin in #3892\r\n\r\n### Show installed extensions in `hf --help`\r\n\r\nThe CLI now shows installed extensions under an \"Extension commands\" section in the help output.\r\n\r\n- Show installed extensions in `hf --help` by @hanouticelina in #3884\r\n\r\n## Other QoL improvements\r\n\r\n- Add NVIDIA provider support to InferenceClient by @manojkilaru97 in #3886\r\n- Bump `hf_xet` minimal package version to `>=1.3.2` for better throughput by @Wauplin in #3873\r\n- Fix CLI errors formatting to include repo_id, repo_type, bucket_id by @Wauplin in #3889\r\n\r\n## 📚 Documentation updates\r\n\r\n- Fixed sub-headings for hf cache commands in the doc by @mostafatouny in #3877\r\n\r\n## 🐛 Bug and typo fixes\r\n\r\n- Fix: quote uv args in bash -c to prevent shell redirection by @XciD in #3857\r\n- Fix typo in generated Skill by @hanouticelina in #3890\r\n- Fix ty diagnostics in upload, filesystem, and repocard helpers by @hanouticelina in #3891\r\n\r\n## 💔 Breaking changes\r\n\r\n- Remove deprecated `direction` argument in `list_models/datasets/spaces` by @Wauplin in #3882\r\n\r\n## 🏗️ Internal\r\n\r\n- Release note skill attempt by @Wauplin in #3853\r\n- Prepare for v1.6 by @Wauplin in #3860\r\n- Skip git clone test by @Wauplin in #3881\r\n- Add Sync `hf` CLI Skill workflow by @hanouticelina in #3885\r\n- [Release notes] doc diffs, better skill, concurrent fetching by @Wauplin in #3887\r\n- Propagate filtered headers to xet by @bpronan in #3858","publishedAt":"2026-03-06T13:52:07.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.6.0","media":[]},{"id":"rel_JvVLWGJ8Qnn-r-UYlQqJp","version":"v1.5.0","title":"[v1.5.0]: Buckets API, Agent-first CLI, Spaces Hot-Reload and more","summary":"This release introduces major new features including **Buckets** (xet-based large scale object storage), CLI Extensions, Space Hot-Reload, and signifi...","content":"This release introduces major new features including **Buckets** (xet-based large scale object storage), CLI Extensions, Space Hot-Reload, and significant improvements for AI coding agents. The CLI has been completely overhauled with centralized error handling, better help output, and new commands for collections, papers, and more.\r\n\r\n## 🪣 Buckets: S3-like Object Storage on the Hub\r\n\r\nBuckets provide S3-like object storage on Hugging Face, powered by the Xet storage backend. Unlike repositories (which are git-based and track file history), buckets are remote object storage containers designed for large-scale files with content-addressable deduplication. Use them for training checkpoints, logs, intermediate artifacts, or any large collection of files that doesn't need version control.\r\n\r\n```bash\r\n# Create a bucket\r\nhf buckets create my-bucket --private\r\n\r\n# Upload a directory\r\nhf buckets sync ./data hf://buckets/username/my-bucket\r\n\r\n# Download from bucket\r\nhf buckets sync hf://buckets/username/my-bucket ./data\r\n\r\n# List files\r\nhf buckets list username/my-bucket -R --tree\r\n```\r\n\r\nThe Buckets API includes full CLI and Python support for creating, listing, moving, and deleting buckets; uploading, downloading, and syncing files; and managing bucket contents with include/exclude patterns.\r\n\r\n- Buckets API and CLI by @Wauplin in #3673\r\n- Support bucket rename/move in API + CLI by @Wauplin in #3843\r\n- Add 'sync_bucket' to HfApi by @Wauplin in #3845\r\n- hf buckets file deletion by @Wauplin in #3849\r\n- Update message when no buckets found by @Wauplin in #3850\r\n- Buckets doc `hf` install by @julien-c in #3846\r\n\r\n📚 **Documentation:** [Buckets guide](https://huggingface.co/docs/huggingface_hub/main/en/guides/buckets)\r\n\r\n\r\n## 🤖 AI Agent Support\r\n\r\nThis release includes several features designed to improve the experience for AI coding agents (Claude Code, OpenCode, Cursor, etc.):\r\n\r\n- **Centralized CLI error handling**: Clean user-facing messages without tracebacks (set `HF_DEBUG=1` for full traces) by @hanouticelina in #3754\r\n- **Token-efficient skill**: The `hf skills add` command now installs a compact skill (~1.2k tokens vs ~12k before) by @hanouticelina in #3802\r\n- **Agent-friendly `hf jobs logs`**: Prints available logs and exits by default; use `-f` to stream by @davanstrien in #3783\r\n- **Add AGENTS.md**: Dev setup and codebase guide for AI agents by @Wauplin in #3789\r\n\r\n```bash\r\n# Install the hf-cli skill for Claude\r\nhf skills add --claude\r\n\r\n# Install for project-level\r\nhf skills add --project\r\n```\r\n\r\n- Add `hf skills add` CLI command by @julien-c in #3741\r\n- `hf skills add` installs to central location with symlinks by @hanouticelina in #3755\r\n- Add Cursor skills support by @NielsRogge in #3810\r\n\r\n## 🔥 Space Hot-Reload (Experimental)\r\n\r\nHot-reload Python files in a Space without a full rebuild and restart. This is useful for rapid iteration on Gradio apps.\r\n\r\n```bash\r\n# Open an interactive editor to modify a remote file\r\nhf spaces hot-reload username/repo-name app.py\r\n\r\n# Take local version and patch remote\r\nhf spaces hot-reload username/repo-name -f app.py\r\n```\r\n\r\n- feat(spaces): hot-reload by @cbensimon in #3776\r\n- fix hot reload reference part.2 by @cbensimon in #3820\r\n\r\n\r\n## 🖥️ CLI Improvements\r\n\r\n### New Commands\r\n\r\n- Add `hf papers ls` to list daily papers on the Hub by @julien-c in #3723\r\n- Add `hf collections` commands (ls, info, create, update, delete, add-item, update-item, delete-item) by @Wauplin in #3767\r\n\r\n### CLI Extensions\r\n\r\nIntroduce an extension mechanism to the `hf` CLI. Extensions are standalone executables hosted in GitHub repositories that users can install, run, and remove with simple commands. Inspired by `gh extension`.\r\n\r\n```bash\r\n# Install an extension (defaults to huggingface org)\r\nhf extensions install hf-claude\r\n\r\n# Install from any GitHub owner\r\nhf extensions install hanouticelina/hf-claude\r\n\r\n# Run an extension\r\nhf claude\r\n\r\n# List installed extensions\r\nhf extensions list\r\n```\r\n\r\n- Add `hf extension` by @hanouticelina in #3805\r\n- Add `hf ext` alias by @hanouticelina in #3836\r\n\r\n### Output Format Options\r\n\r\n- Add `--format {table,json}` and `-q/--quiet` to `hf models ls`, `hf datasets ls`, `hf spaces ls`, `hf endpoints ls` by @hanouticelina in #3735\r\n- Align `hf jobs ps` output with standard CLI pattern by @davanstrien in #3799\r\n- Dynamic table columns based on `--expand` field by @hanouticelina in #3760\r\n\r\n### Usability\r\n\r\n- Improve `hf` CLI help output with examples and documentation links by @hanouticelina in #3743\r\n- Add `-h` as short alias for `--help` by @assafvayner in #3800\r\n- Add hidden `--version` flag by @Wauplin in #3784\r\n- Add `--type` as alias for `--repo-type` by @Wauplin in #3835\r\n- Better handling of aliases in documentation by @Wauplin in #3840\r\n- Print first example only in group command --help by @Wauplin in #3841\r\n- Subfolder download: `hf download repo_id subfolder/` now works as expected by @Wauplin in #3822\r\n\r\n### Jobs CLI\r\n\r\nList available hardware:\r\n\r\n```bash\r\n✗ hf jobs hardware\r\nNAME            PRETTY NAME            CPU      RAM     ACCELERATOR       COST/MIN COST/HOUR \r\n--------------- ---------------------- -------- ------- ----------------- -------- --------- \r\ncpu-basic       CPU Basic              2 vCPU   16 GB   N/A               $0.0002  $0.01     \r\ncpu-upgrade     CPU Upgrade            8 vCPU   32 GB   N/A               $0.0005  $0.03     \r\ncpu-performance CPU Performance        32 vCPU  256 GB  N/A               $0.3117  $18.70    \r\ncpu-xl          CPU XL                 16 vCPU  124 GB  N/A               $0.0167  $1.00     \r\nt4-small        Nvidia T4 - small      4 vCPU   15 GB   1x T4 (16 GB)     $0.0067  $0.40     \r\nt4-medium       Nvidia T4 - medium     8 vCPU   30 GB   1x T4 (16 GB)     $0.0100  $0.60     \r\na10g-small      Nvidia A10G - small    4 vCPU   15 GB   1x A10G (24 GB)   $0.0167  $1.00  \r\n...\r\n```\r\n\r\nAlso added a ton of fixes and small QoL improvements.\r\n\r\n- Support multi GPU training commands (`torchrun`, `accelerate launch`) by @lhoestq in #3674\r\n- Pass local script and config files to job by @lhoestq in #3724\r\n- List available hardware with `hf jobs hardware` by @Wauplin in #3693\r\n- Better jobs filtering in CLI: labels and negation (`!=`) by @lhoestq in #3742\r\n- Accept namespace/job_id format in jobs CLI commands by @davanstrien in #3811\r\n- Pass namespace parameter to fetch job logs by @Praful932 in #3736\r\n- Add more error handling output to hf jobs cli commands by @davanstrien in #3744\r\n- Fix `hf jobs` commands crashing without a TTY by @davanstrien in #3782\r\n\r\n## 🤖 Inference\r\n\r\n- Add `dimensions` & `encoding_format` parameter to InferenceClient for output embedding size by @mishig25 in #3671\r\n- feat: zai-org provider supports text to image by @tomsun28 in #3675\r\n- Fix fal image urls payload by @hanouticelina in #3746\r\n- Fix Replicate `image-to-image` compatibility with different model schemas by @hanouticelina in #3749\r\n- Accelerator parameter support for inference endpoints by @Wauplin in #3817\r\n\r\n## 🔧 Other QoL Improvements\r\n\r\n- Support setting Label in Jobs API by @Wauplin in #3719\r\n- Document built-in environment variables in Jobs docs (JOB_ID, ACCELERATOR, CPU_CORES, MEMORY) by @Wauplin in #3834\r\n- Fix ReadTimeout crash in no-follow job logs by @davanstrien in #3793\r\n- Add evaluation results module (`EvalResultEntry`, `parse_eval_result_entries`) by @hanouticelina in #3633\r\n- Add source org field to `EvalResultEntry` by @hanouticelina in #3694\r\n- Add limit param to list_papers API method by @Wauplin in #3697\r\n- Add `num_papers` field to Organization class by @cfahlgren1 in #3695\r\n- Update MAX_FILE_SIZE_GB from 50 to 200 by @davanstrien in #3696\r\n- List datasets benchmark alias (`benchmark=True` → `benchmark=\"official\"`) by @Wauplin in #3734\r\n- Add notes field to `EvalResultEntry` by @Wauplin in #3738\r\n- Make `task_id` required in `EvalResultEntry` by @Wauplin in #3718\r\n- Repo commit count warning for `upload_large_folder` by @Wauplin in #3698\r\n- Replace deprecated is_enterprise boolean by `plan` string in org info by @Wauplin in #3753\r\n- Update hardware list in SpaceHardware enum by @lhoestq in #3756\r\n- Use HF_HUB_DOWNLOAD_TIMEOUT as default httpx timeout by @Wauplin in #3751\r\n- No timeout by default when using httpx by @Wauplin in #3790\r\n- Log 'x-amz-cf-id' on http error (if no request id) by @Wauplin in #3759\r\n- Parse xet hash from tree listing by @seanses in #3780\r\n- Require filelock>=3.10.0 for `mode=` parameter support by @Wauplin in #3785\r\n- Add overload decorators to `HfApi.snapshot_download` for dry_run typing by @Wauplin in #3788\r\n- Dataclass doesn't call original `__init__` by @zucchini-nlp in #3818\r\n- Strict dataclass sequence validation by @Wauplin in #3819\r\n- Check if `dataclass.repr=True` before wrapping by @zucchini-nlp in #3823\r\n\r\n## 💔 Breaking Changes\r\n\r\n- `hf jobs ps` removes old Go-template `--format '{{.id}}'` syntax. Use `-q` for IDs or `--format json | jq` for custom extraction by @davanstrien in #3799\r\n- Migrate to `hf repos` instead of `hf repo` (old command still works but shows deprecation warning) by @Wauplin in #3848\r\n- Migrate `hf repo-files delete` to `hf repo delete-files` (old command hidden from help, shows deprecation warning) by @Wauplin in #3821\r\n\r\n## 🐛 Bug and typo fixes\r\n\r\n- Fix severe performance regression in streaming by keeping a byte iterator in HfFileSystemStreamFile by @leq6c in #3685\r\n- Fix endpoint not forwarded in CommitUrl by @Wauplin in #3679\r\n- Fix `HfFileSystem.resolve_path()` with special char `@` by @lhoestq in #3704\r\n- Fix cache verify incorrectly reporting folders as missing files by @Mitix-EPI in #3707\r\n- Fix multi user cache lock permissions by @hanouticelina in #3714\r\n- Default _endpoint to None in CommitInfo, fixes tiny regression from v1.3.3 by @tomaarsen in #3737\r\n- Filter datasets by benchmark:official by @Wauplin in #3761\r\n- Fix file corruption when server ignores Range header on download retry by @XciD in #3778\r\n- Fix Xet token invalid on repo recreation by @Wauplin in #3847\r\n- Correct typo 'occured' to 'occurred' by @thecaptain789 in #3787\r\n- Fix typo in CLI error handling by @hanouticelina in #3757\r\n\r\n## 📖 Documentation\r\n\r\n- Add link to Hub Jobs documentation by @gary149 in #3712\r\n- Update HTTP backend configuration link to main branch by @IliasAarab in #3713\r\n- Update CLI help output in docs to include new commands by @julien-c in #3722\r\n- Wildcard pattern documentation by @hanouticelina in #3710\r\n- Deprecate `hf_transfer` references in Korean and German translations by @davanstrien in #3804\r\n- Use SPDX license identifier 'Apache-2.0' by @yesudeep in #3814\r\n- Correct img tag style in README.md by @sadnesslovefreedom-debug in #3689\r\n\r\n## 🏗️ Internal\r\n\r\n- Change external dependency from `typer-slim` to `typer` by @svlandeg in #3797\r\n- Remove `shellingham` from the required dependencies by @hanouticelina in #3798\r\n- Ignore `unused-ignore-comment` warnings in `ty` for `mypy` compatibility by @hanouticelina in #3691\r\n- Remove new `unused-type-ignore-comment` warning from `ty` by @hanouticelina in #3803\r\n- Fix curlify when debug logging is enabled for streaming requests by @hanouticelina in #3692\r\n- Remove canonical dataset test case by @hanouticelina in #3740\r\n- Remove broad exception handling from CLI job commands by @hanouticelina in #3748\r\n- CI windows permission error by @Wauplin in #3700\r\n- Upgrade GitHub Actions to latest versions by @salmanmkc in #3729\r\n- Stabilize lockfile test in `file_download` tests by @hanouticelina in #3815\r\n- Fix ty invalid assignment in `CollectionItem` by @hanouticelina in #3831\r\n- Use `inference_provider` instead of `inference` in tests by @hanouticelina in #3826\r\n- Fix tqdm windows test failure by @Wauplin in #3844\r\n- Add test for check if dataclass.repr=True before wrapping by @Wauplin in #3852\r\n- Prepare for v1.5 by @Wauplin in #3781\r\n","publishedAt":"2026-02-26T15:02:54.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.5.0","media":[]},{"id":"rel_BRUhkQYeuW_h4VLMA5UFG","version":"v0.36.2","title":"[v0.36.2] Fix file corruption when server ignores Range header on download retry","summary":"Fix file corruption when server ignores Range header on download retry.\r\nFull details in https://github.com/huggingface/huggingface_hub/pull/3778 by @...","content":"Fix file corruption when server ignores Range header on download retry.\r\nFull details in https://github.com/huggingface/huggingface_hub/pull/3778 by @XciD.\r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v0.36.1...v0.36.2","publishedAt":"2026-02-06T09:29:13.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v0.36.2","media":[]},{"id":"rel_F8Hh5xjnOwFC-_mM6qNZB","version":"v1.4.1","title":"[v1.4.1] Fix file corruption when server ignores Range header on download retry","summary":"Fix file corruption when server ignores Range header on download retry.\r\nFull details in https://github.com/huggingface/huggingface_hub/pull/3778 by @...","content":"Fix file corruption when server ignores Range header on download retry.\r\nFull details in https://github.com/huggingface/huggingface_hub/pull/3778 by @XciD.\r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v1.4.0...v1.4.1","publishedAt":"2026-02-06T09:28:10.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.4.1","media":[]},{"id":"rel_jio90hRJS0dhu0pW4vPTa","version":"v1.4.0","title":"[v1.4.0] Building the HF CLI for You and your AI Agents","summary":"## 🧠 `hf skills add` CLI Command\r\n\r\nA new `hf skills add` command installs the `hf-cli` skill for AI coding assistants (Claude Code, Codex, OpenCode)...","content":"## 🧠 `hf skills add` CLI Command\r\n\r\nA new `hf skills add` command installs the `hf-cli` skill for AI coding assistants (Claude Code, Codex, OpenCode). Your AI Agent now knows how to search the Hub, download models, run Jobs, manage repos, and more.\r\n\r\n```console\r\n> hf skills add --help\r\nUsage: hf skills add [OPTIONS]\r\n\r\n  Download a skill and install it for an AI assistant.\r\n\r\nOptions:\r\n  --claude      Install for Claude.\r\n  --codex       Install for Codex.\r\n  --opencode    Install for OpenCode.\r\n  -g, --global  Install globally (user-level) instead of in the current\r\n                project directory.\r\n  --dest PATH   Install into a custom destination (path to skills directory).\r\n  --force       Overwrite existing skills in the destination.\r\n  --help        Show this message and exit.\r\n\r\nExamples\r\n  $ hf skills add --claude\r\n  $ hf skills add --claude --global\r\n  $ hf skills add --codex --opencode\r\n\r\nLearn more\r\n  Use `hf <command> --help` for more information about a command.\r\n  Read the documentation at\r\n  https://huggingface.co/docs/huggingface_hub/en/guides/cli\r\n```\r\n\r\nThe skill is composed of two files fetched from the `huggingface_hub docs`: a CLI guide (`SKILL.md`) and the full CLI reference (`references/cli.md`). Files are installed to a central `.agents/skills/hf-cli/` directory, and relative symlinks are created from agent-specific directories (e.g., `.claude/skills/hf-cli/` → `../../.agents/skills/hf-cli/`). This ensures a single source of truth when installing for multiple agents.\r\n\r\n- Add `hf skills add` CLI command by @julien-c in #3741\r\n- [CLI] `hf skills add` installs hf-cli skill to central location with symlinks by @hanouticelina in #3755\r\n\r\n## 🖥️ Improved CLI Help Output\r\n\r\nThe CLI help output has been reorganized to be more informative and agent-friendly:\r\n\r\n- Commands are now grouped into **Main commands** and **Help commands**\r\n- **Examples** section showing common usage patterns\r\n- **Learn more** section with links to documentation\r\n\r\n```console\r\n> hf cache --help\r\nUsage: hf cache [OPTIONS] COMMAND [ARGS]...\r\n\r\n  Manage local cache directory.\r\n\r\nOptions:\r\n  --help  Show this message and exit.\r\n\r\nMain commands:\r\n  ls      List cached repositories or revisions.\r\n  prune   Remove detached revisions from the cache.\r\n  rm      Remove cached repositories or revisions.\r\n  verify  Verify checksums for a single repo revision from cache or a local\r\n          directory.\r\n\r\nExamples\r\n  $ hf cache ls\r\n  $ hf cache ls --revisions\r\n  $ hf cache ls --filter \"size>1GB\" --limit 20\r\n  $ hf cache ls --format json\r\n  $ hf cache prune\r\n  $ hf cache prune --dry-run\r\n  $ hf cache rm model/gpt2\r\n  $ hf cache rm <revision_hash>\r\n  $ hf cache rm model/gpt2 --dry-run\r\n  $ hf cache rm model/gpt2 --yes\r\n  $ hf cache verify gpt2\r\n  $ hf cache verify gpt2 --revision refs/pr/1\r\n  $ hf cache verify my-dataset --repo-type dataset\r\n\r\nLearn more\r\n  Use `hf <command> --help` for more information about a command.\r\n  Read the documentation at\r\n  https://huggingface.co/docs/huggingface_hub/en/guides/cli\r\n```\r\n\r\n- [CLI] improve `hf` CLI help output by @hanouticelina in #3743\r\n\r\n## 📊 Evaluation Results Module\r\n\r\nThe Hub now has a decentralized system for tracking model evaluation results. Benchmark datasets (like [MMLU-Pro](https://huggingface.co/datasets/TIGER-Lab/MMLU-Pro), [HLE](https://huggingface.co/datasets/cais/hle), [GPQA](https://huggingface.co/datasets/Idavidrein/gpqa)) host leaderboards, and model repos store evaluation scores in `.eval_results/*.yaml` files. These results automatically appear on both the model page and the benchmark's leaderboard. See the [Evaluation Results documentation](https://huggingface.co/docs/hub/eval-results) for more details.\r\n\r\nWe added helpers in `huggingface_hub` to work with this format:\r\n\r\n- `EvalResultEntry` dataclass representing evaluation scores\r\n- `eval_result_entries_to_yaml()` to serialize entries to YAML format\r\n- `parse_eval_result_entries()` to parse YAML data back into `EvalResultEntry` objects\r\n\r\n```python\r\nimport yaml\r\nfrom huggingface_hub import EvalResultEntry, eval_result_entries_to_yaml, upload_file\r\n\r\nentries = [\r\n    EvalResultEntry(dataset_id=\"cais/hle\", task_id=\"default\", value=20.90),\r\n    EvalResultEntry(dataset_id=\"Idavidrein/gpqa\", task_id=\"gpqa_diamond\", value=0.412),\r\n]\r\nyaml_content = yaml.dump(eval_result_entries_to_yaml(entries))\r\nupload_file(\r\n    path_or_fileobj=yaml_content.encode(),\r\n    path_in_repo=\".eval_results/results.yaml\",\r\n    repo_id=\"your-username/your-model\",\r\n)\r\n```\r\n\r\n- Add evaluation results module by @hanouticelina in #3633\r\n- Eval results synchronization by @Wauplin in #3718\r\n- Eval results notes by @Wauplin in #3738\r\n\r\n## 🖥️ Other CLI Improvements\r\n\r\nNew `hf papers ls` command to list daily papers on the Hub, with support for filtering by date and sorting by trending or publication date.\r\n\r\n```console\r\nhf papers ls                       # List most recent daily papers\r\nhf papers ls --sort=trending       # List trending papers\r\nhf papers ls --date=2025-01-23     # List papers from a specific date\r\nhf papers ls --date=today          # List today's papers\r\n```\r\n\r\n- Add `hf papers ls` CLI command by @julien-c in #3723\r\n\r\nNew `hf collections` commands for managing collections from the CLI:\r\n\r\n```console\r\n# List collections\r\nhf collections ls --owner nvidia --limit 5\r\nhf collections ls --sort trending\r\n\r\n# Create a collection\r\nhf collections create \"My Models\" --description \"Favorites\" --private\r\n\r\n# Add items\r\nhf collections add-item user/my-coll models/gpt2 model\r\nhf collections add-item user/my-coll datasets/squad dataset --note \"QA dataset\"\r\n\r\n# Get info\r\nhf collections info user/my-coll\r\n\r\n# Delete\r\nhf collections delete user/my-coll\r\n```\r\n\r\n- [CLI] Add `hf collections` commands by @Wauplin in #3767\r\n\r\nOther CLI-related improvements:\r\n\r\n- [CLI] output format option for ls CLIs by @hanouticelina in #3735\r\n- [CLI] Dynamic table columns based on `--expand` field by @hanouticelina in #3760\r\n- [CLI] Adds centralized error handling by @hanouticelina in #3754\r\n- [CLI] exception handling scope by @hanouticelina in #3748\r\n- Update CLI help output in docs to include new commands by @julien-c in #3722\r\n\r\n## 📊 Jobs\r\n\r\nMulti-GPU training commands are now supported with `torchrun` and `accelerate launch`:\r\n\r\n```bash\r\n> hf jobs uv run --with torch -- torchrun train.py\r\n> hf jobs uv run --with accelerate -- accelerate launch train.py\r\n```\r\n\r\nYou can also pass local config files alongside your scripts:\r\n\r\n```bash\r\n> hf jobs uv run script.py config.yml\r\n> hf jobs uv run --with torch torchrun script.py config.yml\r\n```\r\n\r\nNew `hf jobs hardware` command to list available hardware options:\r\n\r\n```console\r\n> hf jobs hardware\r\nNAME         PRETTY NAME            CPU      RAM     ACCELERATOR      COST/MIN COST/HOUR \r\n------------ ---------------------- -------- ------- ---------------- -------- --------- \r\ncpu-basic    CPU Basic              2 vCPU   16 GB   N/A              $0.0002  $0.01     \r\ncpu-upgrade  CPU Upgrade            8 vCPU   32 GB   N/A              $0.0005  $0.03     \r\nt4-small     Nvidia T4 - small      4 vCPU   15 GB   1x T4 (16 GB)    $0.0067  $0.40     \r\nt4-medium    Nvidia T4 - medium     8 vCPU   30 GB   1x T4 (16 GB)    $0.0100  $0.60     \r\na10g-small   Nvidia A10G - small    4 vCPU   15 GB   1x A10G (24 GB)  $0.0167  $1.00     \r\na10g-large   Nvidia A10G - large    12 vCPU  46 GB   1x A10G (24 GB)  $0.0250  $1.50     \r\na10g-largex2 2x Nvidia A10G - large 24 vCPU  92 GB   2x A10G (48 GB)  $0.0500  $3.00     \r\na10g-largex4 4x Nvidia A10G - large 48 vCPU  184 GB  4x A10G (96 GB)  $0.0833  $5.00     \r\na100-large   Nvidia A100 - large    12 vCPU  142 GB  1x A100 (80 GB)  $0.0417  $2.50     \r\na100x4       4x Nvidia A100         48 vCPU  568 GB  4x A100 (320 GB) $0.1667  $10.00    \r\na100x8       8x Nvidia A100         96 vCPU  1136 GB 8x A100 (640 GB) $0.3333  $20.00    \r\nl4x1         1x Nvidia L4           8 vCPU   30 GB   1x L4 (24 GB)    $0.0133  $0.80     \r\nl4x4         4x Nvidia L4           48 vCPU  186 GB  4x L4 (96 GB)    $0.0633  $3.80     \r\nl40sx1       1x Nvidia L40S         8 vCPU   62 GB   1x L40S (48 GB)  $0.0300  $1.80     \r\nl40sx4       4x Nvidia L40S         48 vCPU  382 GB  4x L40S (192 GB) $0.1383  $8.30     \r\nl40sx8       8x Nvidia L40S         192 vCPU 1534 GB 8x L40S (384 GB) $0.3917  $23.50  \r\n```\r\n\r\nBetter filtering with label support and negation:\r\n\r\n```bash\r\n> hf jobs ps -a --filter status!=error\r\n> hf jobs ps -a --filter label=fine-tuning\r\n> hf jobs ps -a --filter label=model=Qwen3-06B\r\n```\r\n\r\n- [Jobs] Support multi gpu training commands by @lhoestq in #3674\r\n- [Jobs] List available hardware by @Wauplin in #3693\r\n- [Jobs] Better jobs filtering in CLI: labels and negation by @lhoestq in #3742\r\n- Pass local script and config files to job by @lhoestq in #3724\r\n- Support setting Label in Jobs API by @Wauplin in #3719\r\n- Pass namespace parameter to fetch job logs in jobs CLI by @Praful932 in #3736\r\n- Add more error handling output to hf jobs cli commands by @davanstrien in #3744\r\n\r\n## ⚡️ Inference\r\n\r\n- Add dimensions & encoding_format parameter to InferenceClient for output embedding size by @mishig25 in #3671\r\n- feat: zai-org provider supports text to image by @tomsun28 in #3675\r\n- [Inference Providers] fix fal image urls payload by @hanouticelina in #3746\r\n- Fix Replicate image-to-image compatibility with different model schemas by @hanouticelina in #3749\r\n\r\n## 🔧 QoL Improvements\r\n\r\n- add source org field by @hanouticelina in #3694\r\n- add num_papers field to Organization class by @cfahlgren1 in #3695\r\n- Add limit param to list_papers API method by @Wauplin in #3697\r\n- Repo commit count warning by @Wauplin in #3698\r\n- List datasets benchmark alias by @Wauplin in #3734\r\n- List repo files repoType by @Wauplin in #3753\r\n- Update hardware list in SpaceHardware enum by @lhoestq in #3756\r\n- Use HF_HUB_DOWNLOAD_TIMEOUT as default httpx timeout by @Wauplin in #3751\r\n- Default _endpoint to None in CommitInfo by @tomaarsen in #3737\r\n- Update MAX_FILE_SIZE_GB from 50 to 200 to match hub-docs PR #2169 by @davanstrien in #3696\r\n- Pass kwargs to post init in dataclasses by @zucchini-nlp in #3771 \r\n- Add retry/backoff when fetching Xet connection info to handle 502 errors by @aabhathanki in #3768 \r\n\r\n## 📖 Documentation\r\n\r\n- Wildcard pattern documentation by @hanouticelina in #3710\r\n- Add link to Hub Jobs documentation by @gary149 in #3712\r\n- Update HTTP backend configuration link to main branch by @IliasAarab in #3713\r\n- Correct img tag style in README.md by @sadnesslovefreedom-debug in #3689\r\n\r\n\r\n## 🐛 Bug and typo fixes\r\n\r\n- Fix endpoint not forwarded in CommitUrl by @Wauplin in #3679\r\n- fix curlify with streaming request by @hanouticelina in #3692\r\n- Fix severe performance regression in streaming by keeping a byte iterator in HfFileSystemStreamFile by @leq6c in #3685\r\n- fix resolve_path() with special char @ by @lhoestq in #3704\r\n- Fix cache verify incorrectly reporting folders as missing files by @Mitix-EPI in #3707\r\n- Fix multi user cache lock permissions by @hanouticelina in #3714\r\n- [CLI] Fix typo in CLI error handling by @hanouticelina in #3757\r\n- Log 'x-amz-cf-id' on http error (if no request id) by @Wauplin in #3759\r\n- [Fix] Filter datasets by benchmark official by @Wauplin in #3761\r\n\r\n## 🏗️ Internal\r\n\r\n- Ignore unused-ignore-comment warnings in ty for mypy compatibility by @hanouticelina in #3691\r\n- Skip sync test on Windows Python 3.14 by @Wauplin in #3700\r\n- Upgrade GitHub Actions to latest versions by @salmanmkc in #3729\r\n- Remove canonical dataset test case from test_access_repositories_lists by @hanouticelina in #3740\r\n- Fix style issues in CI by @Wauplin in #3773 \r\n\r\n## Significant community contributions\r\n\r\nThe following contributors have made significant changes to the library over the last release:\r\n\r\n* @tomsun28\r\n    * feat: zai-org provider supports text to image (#3675)\r\n* @leq6c\r\n    * Fix severe performance regression in streaming by keeping a byte iterator in HfFileSystemStreamFile (#3685)\r\n* @Mitix-EPI\r\n    * Fix cache verify incorrectly reporting folders as missing files (#3707)\r\n* @Praful932\r\n    * Pass namespace parameter to fetch job logs in jobs CLI (#3736)\r\n* @aabhathanki\r\n    * Add retry/backoff when fetching Xet connection info to handle 502 errors (#3768)","publishedAt":"2026-02-03T16:19:53.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.4.0","media":[]},{"id":"rel_13LcteeTQvra0wm9K6LD2","version":"v1.3.7","title":"[v1.3.7] Log 'x-amz-cf-id' on http error if no request id","summary":"Log 'x-amz-cf-id' on http error (if no request id) (https://github.com/huggingface/huggingface_hub/pull/3759)\r\n\r\n**Full Changelog**: https://github.co...","content":"Log 'x-amz-cf-id' on http error (if no request id) (https://github.com/huggingface/huggingface_hub/pull/3759)\r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v1.3.5...v1.3.7","publishedAt":"2026-02-02T10:57:33.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.3.7","media":[]},{"id":"rel_noLogf9zQZrMeEa7O_hXJ","version":"v1.3.5","title":"[v1.3.5] Configurable default timeout for HTTP calls","summary":"- Use HF_HUB_DOWNLOAD_TIMEOUT as default httpx timeout by @Wauplin in #3751\r\n\r\nDefault timeout is 10s. This is ok in most use cases but can trigger er...","content":"- Use HF_HUB_DOWNLOAD_TIMEOUT as default httpx timeout by @Wauplin in #3751\r\n\r\nDefault timeout is 10s. This is ok in most use cases but can trigger errors in CIs making a lot of requests to the Hub. Solution is to set `HF_HUB_DOWNLOAD_TIMEOUT=60` as environment variable in these cases.\r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v1.3.4...v1.3.5","publishedAt":"2026-01-29T13:48:35.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.3.5","media":[]},{"id":"rel_lxDZcoFRprl7gMI_FjT8c","version":"v1.3.4","title":"[v1.3.4] Fix `CommitUrl._endpoint` default to None ","summary":"- Default _endpoint to None in CommitInfo, fixes tiny regression from v1.3.3 by @tomaarsen in https://github.com/huggingface/huggingface_hub/pull/3737...","content":"- Default _endpoint to None in CommitInfo, fixes tiny regression from v1.3.3 by @tomaarsen in https://github.com/huggingface/huggingface_hub/pull/3737\r\n\r\n**Full Changelog**: https://github.com/huggingface/huggingface_hub/compare/v1.3.3...v1.3.4","publishedAt":"2026-01-26T14:06:24.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.3.4","media":[]},{"id":"rel_5DEt1iTiEsUBRRhRjddIW","version":"v1.3.3","title":"[v1.3.3] List Jobs Hardware & Bug Fixes","summary":"## ⚙️ List Jobs Hardware\r\n\r\nYou can now list all available hardware options for Hugging Face Jobs, both from the CLI and programmatically.\r\n\r\n  From t...","content":"## ⚙️ List Jobs Hardware\r\n\r\nYou can now list all available hardware options for Hugging Face Jobs, both from the CLI and programmatically.\r\n\r\n  From the CLI:\r\n```console\r\n➜ hf jobs hardware                           \r\nNAME            PRETTY NAME            CPU      RAM     ACCELERATOR      COST/MIN COST/HOUR \r\n--------------- ---------------------- -------- ------- ---------------- -------- --------- \r\ncpu-basic       CPU Basic              2 vCPU   16 GB   N/A              $0.0002  $0.01     \r\ncpu-upgrade     CPU Upgrade            8 vCPU   32 GB   N/A              $0.0005  $0.03     \r\ncpu-performance CPU Performance        8 vCPU   32 GB   N/A              $0.0000  $0.00     \r\ncpu-xl          CPU XL                 16 vCPU  124 GB  N/A              $0.0000  $0.00     \r\nt4-small        Nvidia T4 - small      4 vCPU   15 GB   1x T4 (16 GB)    $0.0067  $0.40     \r\nt4-medium       Nvidia T4 - medium     8 vCPU   30 GB   1x T4 (16 GB)    $0.0100  $0.60     \r\na10g-small      Nvidia A10G - small    4 vCPU   15 GB   1x A10G (24 GB)  $0.0167  $1.00     \r\na10g-large      Nvidia A10G - large    12 vCPU  46 GB   1x A10G (24 GB)  $0.0250  $1.50     \r\na10g-largex2    2x Nvidia A10G - large 24 vCPU  92 GB   2x A10G (48 GB)  $0.0500  $3.00     \r\na10g-largex4    4x Nvidia A10G - large 48 vCPU  184 GB  4x A10G (96 GB)  $0.0833  $5.00     \r\na100-large      Nvidia A100 - large    12 vCPU  142 GB  1x A100 (80 GB)  $0.0417  $2.50     \r\na100x4          4x Nvidia A100         48 vCPU  568 GB  4x A100 (320 GB) $0.1667  $10.00    \r\na100x8          8x Nvidia A100         96 vCPU  1136 GB 8x A100 (640 GB) $0.3333  $20.00    \r\nl4x1            1x Nvidia L4           8 vCPU   30 GB   1x L4 (24 GB)    $0.0133  $0.80     \r\nl4x4            4x Nvidia L4           48 vCPU  186 GB  4x L4 (96 GB)    $0.0633  $3.80     \r\nl40sx1          1x Nvidia L40S         8 vCPU   62 GB   1x L40S (48 GB)  $0.0300  $1.80     \r\nl40sx4          4x Nvidia L40S         48 vCPU  382 GB  4x L40S (192 GB) $0.1383  $8.30     \r\nl40sx8          8x Nvidia L40S         192 vCPU 1534 GB 8x L40S (384 GB) $0.3917  $23.50 \r\n```\r\n\r\nProgrammatically:\r\n```python\r\n>>> from huggingface_hub import HfApi\r\n>>> api = HfApi()\r\n>>> hardware_list = api.list_jobs_hardware()\r\n>>> hardware_list[0]\r\nJobHardware(name='cpu-basic', pretty_name='CPU Basic', cpu='2 vCPU', ram='16 GB', accelerator=None, unit_cost_micro_usd=167, unit_cost_usd=0.000167, unit_label='minute')\r\n>>> hardware_list[0].name\r\n'cpu-basic'\r\n```\r\n- [Jobs] List available hardware in #3693 by @Wauplin\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- Fix severe performance regression in streaming by keeping a byte iterator in `HfFileSystemStreamFile` in #3685 by @leq6c\r\n- Fix verify incorrectly reporting folders as missing files in #3707 by @Mitix-EPI\r\n- Fix `resolve_path(`) with special char @ in #3704 by @lhoestq\r\n- Fix curlify with streaming request in #3692 by @hanouticelina\r\n\r\n## ✨ Various Improvements\r\n\r\n- Add `num_papers` field to Organization class in #3695 by @cfahlgren1\r\n- Add `limit` param to `list_papers` API method in #3697 by @Wauplin\r\n- Add repo commit count warning when exceeding recommended limits in #3698 by @Wauplin\r\n- Update `MAX_FILE_SIZE_GB` from 50 to 200 GB in #3696 by @davanstrien\r\n\r\n## 📚 Documentation\r\n\r\n- Wildcard pattern documentation in #3710 by @hanouticelina","publishedAt":"2026-01-22T14:09:29.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.3.3","media":[]},{"id":"rel_OCqZpYR1YORQrKnuj50Vt","version":"v1.3.2","title":"[v1.3.2] Zai provider support for `text-to-image` and fix custom endpoint not forwarded","summary":"\r\n- Fix endpoint not forwarded in CommitUrl #3679 by @Wauplin \r\n- feat: zai-org provider supports text to image #3675 by @tomsun28\r\n\r\nFull Changelog: ...","content":"\r\n- Fix endpoint not forwarded in CommitUrl #3679 by @Wauplin \r\n- feat: zai-org provider supports text to image #3675 by @tomsun28\r\n\r\nFull Changelog: https://github.com/huggingface/huggingface_hub/compare/v1.3.1...v1.3.2","publishedAt":"2026-01-14T14:09:06.000Z","url":"https://github.com/huggingface/huggingface_hub/releases/tag/v1.3.2","media":[]}],"pagination":{"page":1,"pageSize":20,"totalPages":6,"totalItems":105},"summaries":{"rolling":{"windowDays":90,"summary":"The library shifted toward making the Hub accessible as a complete platform—not just a data source, but an infrastructure layer with persistent storage, compute, and AI-agent integration. Buckets arrived as S3-like object storage for checkpoints and artifacts without version control overhead, while Spaces and Jobs gained volume mounting to access models and datasets as direct filesystem mounts. The CLI underwent a complete agent-aware redesign: it graduated to pip-installable extensions, gained a skills system for AI coding assistants, and expanded discovery commands for models, datasets, and spaces alongside new management tools for jobs hardware and dev mode. Recent patch work in v1.9 solidified the volumes API contract after initial rollout.","releaseCount":17,"generatedAt":"2026-04-07T17:28:15.209Z"},"monthly":[{"year":2026,"month":3,"summary":"Volume mounting for Jobs, completion of the Papers CLI, and CLI enhancements dominated March. Jobs gained the ability to mount Hugging Face repositories and storage buckets directly as container volumes, enabling workflows like querying datasets or persisting checkpoints without explicit downloads. The Papers CLI reached full functionality with search and structured output, while the CLI layer matured significantly—extensions now support pip-installable Python packages with isolated dependencies, `hf extension install` accelerated through `uv` integration (6.7x faster), and new command groups for Spaces dev mode, discussions, and webhooks shipped alongside `HfFileSystem` bucket support.","releaseCount":4,"generatedAt":"2026-04-07T17:28:17.961Z"}]}}