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 @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.
- [Jobs] Use current or stored token in a Job secrets by @lhoestq in #3272
- update uv image by @lhoestq in #3270
And finally, Jobs documentation has been updated with new examples (and some fixes):
- Fix bash history expansion in hf jobs example by @nyuuzyou in #3277
- Add timeout info to Jobs guide docs by @davanstrien in #3281
- Update jobs.md by @tre3x in #3297
- docs: Add link to uv-scripts organization in Jobs guide by @davanstrien in #3326
- docs: Add Docker images section for UV scripts in Jobs guide by @davanstrien in #3327
- docs: add link to TRL jobs training documentation by @davanstrien in #3330
CLI updates
In addition to the Scheduled Jobs, some improvements have been added to the hf
CLI.
- [CLI] print help if no command provided by @Wauplin in #3262
- update hf auth whoami output by @hanouticelina in #3274
- Add 'user:' prefix to whoami command output for consistency by @gary149 in #3267
- Whoami: custom message only on unauthorized by @Wauplin in #3288
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
).
- feat: add scaleway inference provider by @Gnoale in #3356
- Add PublicAI provider by @Wauplin in #3367
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",
)
- [Inference] Support image to video task by @hanouticelina in #3289
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.
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/).
- allow use of AGENTS.md as well as PROMPT.md by @evalstate in #3317
Tools filtering has already been improved to avoid loading non-relevant tools from an MCP server:
- [MCP] Handle Ollama's deviation from the OpenAI tool streaming spec by @hanouticelina in #3140
- [Tiny Agents] Add tools to config by @NielsRogge in #3242
- fix allowed tools by @Wauplin (direct commit on main)
🛠️ Small fixes and maintenance
🐛 Bug and typo fixes
- Fix bad total size after resuming download by @DKingAlpha in #3234)
- bug fix: only extend path on window sys by @vealocia in #3265
- [Update] HF Jobs Documentation by @ariG23498 in #3268
- Improve Git Credential Helper Detection for Linux (GCM & libsecret support) by @danchev in #3264
- Make requests decode content by @rasmusfaber in #3271
- Add validation warnings for repository limits in upload_large_folder by @davanstrien in #3280
- Include
HF_HUB_DISABLE_XET
in the environment dump by @hanouticelina in #3290 - Add type to job owner by @drbh in #3291
- Update to use only summary bars for uploads when in notebooks by @hoytak in #3243
- Deprecate library/tags/task/... filtering in list_models by @Wauplin in #3318
- Added
apps
as a parameter toHfApi.list_models
by @anirbanbasu in #3322 - Update error message to improve shell compatibility by @aopstudio in #3333
- docs: minor typo fix in /en/guides/manage-cache by @Manith-Ratnayake in #3353
🏗️ internal
- Prepare for v0.35 by @Wauplin in #3261
- fix-ish CI by @Wauplin (direct commit on main)
- Fix lfs test in CI by @Wauplin in #3275
- [Internal] Use
ty
type checker by @hanouticelina in #3294 - [Internal] fix
ty
check quality by @hanouticelina in #3320 - Return early in
is_jsonable
if circular reference by @Wauplin in #3348
Community contributions
The following contributors have made changes to the library over the last release. Thank you!
- @DKingAlpha
- @vealocia
- bug fix: only extend path on window sys (#3265)
- @danchev
- Improve Git Credential Helper Detection for Linux (GCM & libsecret support) (#3264)
- @rasmusfaber
- Make requests decode content (#3271)
- @nyuuzyou
- Fix bash history expansion in hf jobs example (#3277)
- @tre3x
- Update jobs.md (#3297)
- @hoytak
- Update to use only summary bars for uploads when in notebooks (#3243)
- @anirbanbasu
- Added
apps
as a parameter toHfApi.list_models
(#3322)
- Added
- @aopstudio
- Update error message to improve shell compatibility (#3333)
- @Manith-Ratnayake
- docs: minor typo fix in /en/guides/manage-cache (#3353)
- @Gnoale
- feat: add scaleway inference provider (#3356)