Skip to content

Conversation

@red-hat-konflux
Copy link

This PR contains the following updates:

Package Change Age Confidence
huggingface-hub ==0.15.1 -> ==0.36.0 age confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

huggingface/huggingface_hub (huggingface-hub)

v0.36.0: [v0.36.0] Last Stop Before 1.0

Compare Source

This is the final minor release before v1.0.0. This release focuses on performance optimizations to HfFileSystem and adds a new get_organization_overview API endpoint.

We'll continue to release security patches as needed, but v0.37 will not happen. The next release will be 1.0.0. We’re also deeply grateful to the entire Hugging Face community for their feedback, bug reports, and suggestions that have shaped this library.

Full Changelog: huggingface/huggingface_hub@v0.35.0...v0.36.0

📁 HfFileSystem

Major optimizations have been implemented in HfFileSystem:

  • Cache is kept when pickling a fs instance. This is particularily useful when streaming datasets in a distributed training environment. Each worker won't have to rebuild their cache anymore

Listing files with .glob() has been greatly optimized:

from huggingface_hub import HfFileSystem

HfFileSystem().glob("datasets/HuggingFaceFW/fineweb-edu/data/*/*")

### Before: ~100 /tree calls (one per subdirectory)
### Now: 1 /tree call

Minor updates:

🌍 HfApi

It is now possible to get high-level information about an organization, the same way it is already possible to do with users:

>>> from huggingface_hub import get_organization_overview
>>> get_organization_overview("huggingface")
Organization(
    avatar_url='https://cdn-avatars.huggingface.co/v1/production/uploads/1583856921041-5dd96eb166059660ed1ee413.png',
    name='huggingface',
    fullname='Hugging Face',
    details='The AI community building the future.',
    is_verified=True,
    is_following=True,
    num_users=198,
    num_models=164, num_spaces=96,
    num_datasets=1043,
    num_followers=64814
)

🛠️ Small fixes and maintenance

🐛 Bug and typo fixes
🏗️ internal

Community contributions

The following contributors have made changes to the library over the last release. Thank you!

v0.35.3: [v0.35.3] Fix image-to-image target size parameter mapping & tiny agents allow tools list bug

Compare Source

This release includes two bug fixes:

Full Changelog: huggingface/huggingface_hub@v0.35.2...v0.35.3

v0.35.2: [v0.35.2] Welcoming Z.ai as Inference Providers!

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.35.1...v0.35.2

New inference provider! 🔥

Z.ai is now officially an Inference Provider on the Hub. See full documentation here: https://huggingface.co/docs/inference-providers/providers/zai-org.

from huggingface_hub import InferenceClient

client = InferenceClient(provider="zai-org")
completion = client.chat.completions.create(
    model="zai-org/GLM-4.5",
    messages=[{"role": "user", "content": "What is the capital of France?"}],
)

print("\nThinking:")
print(completion.choices[0].message.reasoning_content)
print("\nOutput:")
print(completion.choices[0].message.content)
Thinking:
Okay, the user is asking about the capital of France. That's a pretty straightforward geography question. 

Hmm, I wonder if this is just a casual inquiry or if they need it for something specific like homework or travel planning. The question is very basic though, so probably just general knowledge. 

Paris is definitely the correct answer here. It's been the capital for centuries, since the Capetian dynasty made it the seat of power. Should I mention any historical context? Nah, the user didn't ask for details - just the capital. 

I recall Paris is also France's largest city and major cultural hub. But again, extra info might be overkill unless they follow up. Better keep it simple and accurate. 

The answer should be clear and direct: "Paris". No need to overcomplicate a simple fact. If they want more, they'll ask.

Output:
The capital of France is **Paris**.  

Paris has been the political and cultural center of France for centuries, serving as the seat of government, the residence of the President (Élysée Palace), and home to iconic landmarks like the Eiffel Tower, the Louvre Museum, and Notre-Dame Cathedral. It is also France's largest city and a global hub for art, fashion, gastronomy, and history.

Misc:

v0.35.1: [v0.35.1] Do not retry on 429 and skip forward ref in strict dataclass

Compare Source

  • Do not retry on 429 (only on 5xx) #​3377
  • Skip unresolved forward ref in strict dataclasses #​3376

Full Changelog: huggingface/huggingface_hub@v0.35.0...v0.35.1

v0.35.0: [v0.35.0] Announcing Scheduled Jobs: run cron jobs on GPU on the Hugging Face Hub!

Compare Source

Scheduled Jobs

In v0.34.0 release, we announced Jobs, a new way to run compute on the Hugging Face Hub. In this new release, we are announcing Scheduled Jobs to run Jobs on a regular basic. Think "cron jobs running on GPU".

This comes with a fully-fledge CLI:

hf jobs scheduled run @​hourly ubuntu echo hello world
hf jobs scheduled run "0 * * * *" ubuntu echo hello world
hf jobs scheduled ps -a
hf jobs scheduled inspect <id>
hf jobs scheduled delete <id>
hf jobs scheduled suspend <id>
hf jobs scheduled resume <id>
hf jobs scheduled uv run @&#8203;weekly train.py

It is now possible to run a command with uv run:

hf jobs uv run --with lighteval -s HF_TOKEN lighteval endpoint inference-providers "model_name=openai/gpt-oss-20b,provider=groq" "lighteval|gsm8k|0|0"

Some other improvements have been added to the existing Jobs API for a better UX.

And finally, Jobs documentation has been updated with new examples (and some fixes):

CLI updates

In addition to the Scheduled Jobs, some improvements have been added to the hf CLI.

Inference Providers

Welcome Scaleway and PublicAI!

Two new partners have been integrated to Inference Providers: Scaleway and PublicAI! (as part of releases 0.34.5 and 0.34.6).

Image-to-video

Image to video is now supported in the InferenceClient:

from huggingface_hub import InferenceClient

client = InferenceClient(provider="fal-ai")

video = client.image_to_video(
    "cat.png",
    prompt="The cat starts to dance",
    model="Wan-AI/Wan2.2-I2V-A14B",
)
Miscellaneous

Header content-type is now correctly set when sending an image or audio request (e.g. for image-to-image task). It is inferred either from the filename or the URL provided by the user. If user is directly passing raw bytes, the content-type header has to be set manually.

  • [InferenceClient] Add content-type header whenever possible + refacto by @​Wauplin in #​3321

A .reasoning field has been added to the Chat Completion output. This is used by some providers to return reasoning tokens separated from the .content stream of tokens.

MCP & tiny-agents updates

tiny-agents now handles AGENTS.md instruction file (see https://agents.md/).

Tools filtering has already been improved to avoid loading non-relevant tools from an MCP server:

🛠️ Small fixes and maintenance

🐛 Bug and typo fixes
🏗️ internal

Community contributions

The following contributors have made changes to the library over the last release. Thank you!

v0.34.6: [v0.34.6]: Welcoming PublicAI as Inference Providers!

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.34.5...v0.34.6

⚡ New provider: PublicAI

[!Tip]
All supported PublicAI models can be found here.

Public AI Inference Utility is a nonprofit, open-source project building products and organizing advocacy to support the work of public AI model builders like the Swiss AI Initiative, AI Singapore, AI Sweden, and the Barcelona Supercomputing Center. Think of a BBC for AI, a public utility for AI, or public libraries for AI.

from huggingface_hub import InferenceClient

client = InferenceClient(provider="publicai")
completion = client.chat.completions.create(
    model="swiss-ai/Apertus-70B-Instruct-2509",
    messages=[{"role": "user", "content": "What is the capital of Switzerland?"}],
)

print(completion.choices[0].message.content)

v0.34.5: [v0.34.5]: Welcoming Scaleway as Inference Providers!

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.34.4...v0.34.5

⚡ New provider: Scaleway

[!Tip]
All supported Scaleway models can be found here. For more details, check out its documentation page.

Scaleway is a European cloud provider, serving latest LLM models through its Generative APIs alongside a complete cloud ecosystem.

from huggingface_hub import InferenceClient

client = InferenceClient(provider="scaleway")

completion = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507",
    messages=[
        {
            "role": "user",
            "content": "What is the capital of France?"
        }
    ],
)

print(completion.choices[0].message)

v0.34.4: [v0.34.4] Support Image to Video inference + QoL in jobs API, auth and utilities

Compare Source

Biggest update is the support of Image-To-Video task with inference provider Fal AI

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> video = client.image_to_video("cat.jpg", model="Wan-AI/Wan2.2-I2V-A14B", prompt="turn the cat into a tiger")
>>> with open("tiger.mp4", "wb") as f:
 ...     f.write(video)

And some quality of life improvements:

Full Changelog: huggingface/huggingface_hub@v0.34.3...v0.34.4

v0.34.3: [v0.34.3] Jobs improvements and whoami user prefix

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.34.2...v0.34.3

v0.34.2: [v0.34.2] Bug fixes: Windows path handling & resume download size fix

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.34.1...v0.34.2

v0.34.1: [v0.34.1] [CLI] print help if no command provided

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.34.0...v0.34.1

v0.34.0: [v0.34.0] Announcing Jobs: a new way to run compute on Hugging Face!

Compare Source

🔥🔥🔥 Announcing Jobs: a new way to run compute on Hugging Face!

We're thrilled to introduce a powerful new command-line interface for running and managing compute jobs on Hugging Face infrastructure! With the new hf jobs command, you can now seamlessly launch, monitor, and manage jobs using a familiar Docker-like experience. Run any command in Docker images (from Docker Hub, Hugging Face Spaces, or your own custom images) on a variety of hardware including CPUs, GPUs, and TPUs - all with simple, intuitive commands.

Key features:

  • 🐳 Docker-like CLI: Familiar commands (run, ps, logs, inspect, cancel) to run and manage jobs
  • 🔥 Any Hardware: Instantly access CPUs, T4/A10G/A100 GPUs, and TPUs with a simple flag
  • 📦 Run Anything: Use Docker images, HF Spaces, or custom containers
  • 📊 Live Monitoring: Stream logs in real-time, just like running locally
  • 💰 Pay-as-you-go: Only pay for the seconds you use
  • 🧬 UV Runner: Run Python scripts with inline dependencies using uv (experimental)

All features are available both from Python (run_job, list_jobs, etc.) and the CLI (hf jobs).

Example usage:

### Run a Python script on the cloud
hf jobs run python:3.12 python -c "print('Hello from the cloud!')"

### Use a GPU
hf jobs run --flavor=t4-small --namespace=huggingface ubuntu nvidia-smi

### List your jobs
hf jobs ps

### Stream logs from a job
hf jobs logs <job-id>

### Inspect job details
hf jobs inspect <job-id>

### Cancel a running job
hf jobs cancel <job-id>

### Run a UV script (experimental)
hf jobs uv run my_script.py --flavor=a10g-small --with=trl

You can also pass environment variables and secrets, select hardware flavors, run jobs in organizations, and use the experimental uv runner for Python scripts with inline dependencies.

Check out the Jobs guide for more examples and details.

🚀 The CLI is now hf! (formerly huggingface-cli)

Glad to announce a long awaited quality-of-life improvement: the Hugging Face CLI has been officially renamed from huggingface-cli to hf! The legacy huggingface-cli remains available without any breaking change, but is officially deprecated. We took the opportunity update the syntax to a more modern command format hf <resource> <action> [options] (e.g. hf auth login, hf repo create, hf jobs run).

Run hf --help to know more about the CLI options.

✗ hf --help
usage: hf <command> [<args>]

positional arguments:
  {auth,cache,download,jobs,repo,repo-files,upload,upload-large-folder,env,version,lfs-enable-largefiles,lfs-multipart-upload}
                        hf command helpers
    auth                Manage authentication (login, logout, etc.).
    cache               Manage local cache directory.
    download            Download files from the Hub
    jobs                Run and manage Jobs on the Hub.
    repo                Manage repos on the Hub.
    repo-files          Manage files in a repo on the Hub.
    upload              Upload a file or a folder to the Hub. Recommended for single-commit uploads.
    upload-large-folder
                        Upload a large folder to the Hub. Recommended for resumable uploads.
    env                 Print information about the environment.
    version             Print information about the hf version.

options:
  -h, --help            show this help message and exit

⚡ Inference

🖼️ Image-to-image

Added support for image-to-image task in the InferenceClient for Replicate and fal.ai providers, allowing quick image generation using FLUX.1-Kontext-dev:

from huggingface_hub import InferenceClient

client = InferenceClient(provider="fal-ai")
client = InferenceClient(provider="replicate")

with open("cat.png", "rb") as image_file:
   input_image = image_file.read()

### output is a PIL.Image object
image = client.image_to_image(
    input_image,
    prompt="Turn the cat into a tiger.",
    model="black-forest-labs/FLUX.1-Kontext-dev",
)

In addition to this, it is now possible to directly pass a PIL.Image as input to the InferenceClient.

🤖 Tiny-Agents

tiny-agents got a nice update to deal with environment variables and secrets. We've also changed its input format to follow more closely the config format from VSCode. Here is an up to date config to run Github MCP Server with a token:

{
  "model": "Qwen/Qwen2.5-72B-Instruct",
  "provider": "nebius",
  "inputs": [
    {
      "type": "promptString",
      "id": "github-personal-access-token",
      "description": "Github Personal Access Token (read-only)",
      "password": true
    }
  ],
  "servers": [
    {
     "type": "stdio",
     "command": "docker",
     "args": [
       "run",
       "-i",
       "--rm",
       "-e",
       "GITHUB_PERSONAL_ACCESS_TOKEN",
       "-e",
       "GITHUB_TOOLSETS=repos,issues,pull_requests",
       "ghcr.io/github/github-mcp-server"
     ],
     "env": {
       "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github-personal-access-token}"
     }
    }
  ]
}
🐛 Bug fixes

InferenceClient and tiny-agents got a few quality of life improvements and bug fixes:

📤 Xet

Integration of Xet is now stable and production-ready. A majority of file transfer are now handled using this protocol on new repos. A few improvements have been shipped to ease developer experience during uploads:

Documentation has already been written to explain better the protocol and its options:

🛠️ Small fixes and maintenance

🐛 Bug and typo fixes
🏗️ internal

v0.33.5: [v0.33.5] [Inference] Fix a UserWarning when streaming with AsyncInferenceClient

Compare Source

  • Fix: "UserWarning: ... sessions are still open..." when streaming with AsyncInferenceClient #​3252

Full Changelog: huggingface/huggingface_hub@v0.33.4...v0.33.5

v0.33.4: [v0.33.4] [Tiny-Agent]: Fix schema validation error for default MCP tools

Compare Source

  • Omit parameters in default tools of tiny-agent #​3214

Full Changelog: huggingface/huggingface_hub@v0.33.3...v0.33.4

v0.33.3: [v0.33.3] [Tiny-Agent]: Update tiny-agents example

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.33.2...v0.33.3

v0.33.2: [v0.33.2] [Tiny-Agent]: Switch to VSCode MCP format

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.33.1...v0.33.2

Breaking changes:

  • no more config nested mapping => everything at root level
  • headers at root level instead of inside options.requestInit
  • updated the way values are pulled from ENV (based on input id)

Example of agent.json:

{
  "model": "Qwen/Qwen2.5-72B-Instruct",
  "provider": "nebius",
  "inputs": [
    {
      "type": "promptString",
      "id": "hf-token",
      "description": "Token for Hugging Face API access",
      "password": true
    }
  ],
  "servers": [
    {
      "type": "http",
      "url": "https://huggingface.co/mcp",
      "headers": {
        "Authorization": "Bearer ${input:hf-token}"
      }
    }
  ]
}

Find more examples in https://huggingface.co/datasets/tiny-agents/tiny-agents

v0.33.1: [v0.33.1]: Inference Providers Bug Fixes, Tiny-Agents Message handling Improvement, and Inference Endpoints Health Check Update

Compare Source

Full Changelog: huggingface/huggingface_hub@v0.33.0...v0.33.1

This release introduces bug fixes for chat completion type compatibility and feature extraction parameters, enhanced message handling in tiny-agents, and updated inference endpoint health check:

v0.33.0: [v0.33.0]: Welcoming Featherless.AI and Groq as Inference Providers!

Compare Source

⚡ New provider: Featherless.AI

Featherless AI is a serverless AI inference provider with unique model loading and GPU orchestration abilities that makes an exceptionally large catalog of models available for users. Providers often offer either a low cost of access to a limited set of models, or an unlimited range of models with users managing servers and the associated costs of operation. Featherless provides the best of both worlds offering unmatched model range and variety but with serverless pricing. Find the full list of supported models on the models page.

from huggingface_hub import InferenceClient

client = InferenceClient(provider="featherless-ai")

completion = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1-0528", 
    messages=[
        {
            "role": "user",
            "content": "What is the capital of France?"
        }
    ], 
)

print(completion.choices[0].message)

⚡ New provider: Groq

At the heart of Groq's technology is the Language Processing Unit (LPU™), a new type of end-to-end processing unit system that provides the fastest inference for computationally intensive applications with a sequential component, such as Large Language Models (LLMs). LPUs are designed to overcome the limitations of GPUs for inference, offering significantly lower latency and higher throughput. This makes them ideal for real-time AI applications.

Groq offers fast AI inference for openly-available models. They provide an API that allows developers to easily integrate these models into their applications. It offers an on-demand, pay-as-you-go model for accessing a wide range of openly-available LLMs.

from huggingface_hub import InferenceClient

client = InferenceClient(provider="groq")

completion = client.chat.completions.create(
    model="meta-llama/Llama-4-Scout-17B-16E-Instruct",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Describe this image in one sentence."},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://vagabundler.com/wp-content/uploads/2019/06/P3160166-Copy.jpg"},
                },
            ],
        }
    ],
)

print(completion.choices[0].message)

🤖 MCP and Tiny-agents

It is now possible to run tiny-agents using a local server e.g. llama.cpp. 100% local agents are right behind the corner!

Fixing some DX issues in the tiny-agents CLI.

📚 Documentation

New translation from the Hindi-speaking community, for the community!

🛠️ Small fixes and maintenance

😌 QoL improvements
🐛 Bug and typo fixes

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

To execute skipped test pipelines write comment /ok-to-test.


Documentation

Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.

Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
@red-hat-konflux red-hat-konflux bot changed the title Update dependency huggingface-hub to v0.36.0 Update dependency huggingface-hub to v0.36.0 - abandoned Nov 17, 2025
@red-hat-konflux
Copy link
Author

Autoclosing Skipped

This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.

@red-hat-konflux red-hat-konflux bot changed the title Update dependency huggingface-hub to v0.36.0 - abandoned Update dependency huggingface-hub to v0.36.0 Nov 17, 2025
@red-hat-konflux red-hat-konflux bot changed the title Update dependency huggingface-hub to v0.36.0 Update dependency huggingface-hub to v0.36.0 - abandoned Nov 18, 2025
@red-hat-konflux red-hat-konflux bot changed the title Update dependency huggingface-hub to v0.36.0 - abandoned Update dependency huggingface-hub to v0.36.0 Nov 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants