Shipping huggingface_hub every week with AI, open tools, and a human in the loop
官方发布带来Hugging Face 模型更新信号,适合跟踪能力变化、生态影响和后续落地。
Back to Articles
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