SyncAI.news, a Varaisys broadcasting
Shipping huggingface_hub every week with AI, open tools, and a human in the loop
HF

Hugging Face Blog

· 2 min read

AI LabsHugging Face Blog

Shipping huggingface_hub every week with AI, open tools, and a human in the loop

huggingface_hub is the Python client at the base of the Hugging Face ecosystem. transformers, datasets, diffusers, sentence-transformers and dozens of other libraries depend on it to talk to the Hub. Every week we don't ship a new release is a week of fixes and features stuck on main.

For a long time we released every 4 to 6 weeks. We now release every week from a single GitHub Actions workflow. We built it using open-source tools and open-weights models and kept a human in the loop at the one place where judgment matters. Nothing in this post requires a vendor contract, a closed model, or infrastructure you can't run yourself. That was a design goal from the start since we wanted a workflow other maintainers could pick up and adapt.

By the end of this post, you'll have everything you need to build your own.

Where we started

The old process was partly automated, mostly manual.

Already in CI:

  • Publishing to PyPI once a tag was pushed.
  • Opening test branches in downstream libraries with the release candidate pinned.

Still manual, every single time:

  • Creating the release branch, bumping the version in __init__.py, committing, tagging, pushing.
  • Watching the downstream CI runs and triaging failures.
  • Reading through every PR merged since the last release and writing release notes by hand: grouped by theme, with context, in a voice that didn't read like a git log dump.
  • Cutting the stable release after the RC period.
  • Drafting an internal Slack announcement and social posts.
  • Opening the post-release PR to bump main to the next dev0.

Writing good notes for a new version was the heavy part, aggregating tens of PRs on different topics. Nothing technically hard but a few hours of focused attention. Add the announcements on top and a minor release was easily a half-day of work spread over several days.

Two kinds of work

So we decided to streamline the whole thing. Looking at that list, the work splits in two.

The design principle: open parts, reusable by anyone

Here's the entire stack:

Original source

This story was published by Hugging Face Blog. SyncAI.news shows a preview; the complete article is on the publisher's site.

Read the full story on huggingface.co

Similar News