signal.

Introducing swift-huggingface: The Complete Swift Client for Hugging Face

Today, we're announcing swift-huggingface , a new Swift package that provides a complete client for the Hugging Face Hub. Building an app where users sign in with their Hugging Face account? swift-huggingface includes a complete OAuth 2.0 implementation: swift-huggingface implements a Python-compatible cache structure that allows seamless sharing between Swift and Python clients: And that's not all! swift-huggingface has everything you need to interact with Hugging Face Inference Providers , giving your app instant access to hundreds of machine learning models, powered by world-class inference providers:

Today, we're announcing swift-huggingface , a new Swift package that provides a complete client for the Hugging Face Hub.

You can start using it today as a standalone package, and it will soon integrate into swift-transformers as a replacement for its current HubApi implementation.

When we released swift-transformers 1.0 earlier this year, we heard loud and clear from the community:

swift-huggingface is a ground-up rewrite focused on reliability and developer experience. It provides:

One of the biggest improvements is how authentication works. The TokenProvider pattern makes it explicit where credentials come from:

The auto-detection follows the same conventions as the Python huggingface_hub library:

This means if you've already logged in with hf auth login , swift-huggingface will automatically find and use that token.

Building an app where users sign in with their Hugging Face account? swift-huggingface includes a complete OAuth 2.0 implementation:

The OAuth manager handles token storage in Keychain, automatic refresh, and secure sign-out. No more manual token management.

Downloading large models is now straightforward with proper progress tracking and resume support:

For downloading entire model repositories, downloadSnapshot handles everything:

The snapshot function tracks metadata for each file, so subsequent calls only download files that have changed.

Remember the second problem we mentioned? "No shared cache with the Python ecosystem." That's now solved.

swift-huggingface implements a Python-compatible cache structure that allows seamless sharing between Swift and Python clients:

The cache location follows the same environment variable conventions as Python:

To prevent race conditions when multiple processes access the same cache, swift-huggingface uses file locking ( flock(2) ).

Here's what downloading a model snapshot looked like with the old HubApi :

The API is similar, but the implementation is completely different — built on URLSession download tasks with proper delegate handling, resume data support, and metadata tracking.

But wait, there's more! swift-huggingface contains a complete Hub client:

And that's not all! swift-huggingface has everything you need to interact with Hugging Face Inference Providers , giving your app instant access to hundreds of machine learning models, powered by world-class inference providers:

Check the README for a full list of everything that's supported.

Integration with swift-transformers. We have a pull request in progress to replace HubApi with swift-huggingface. This will bring reliable downloads to everyone using swift-transformers, mlx-swift-lm , and the broader ecosystem. If you maintain a Swift-based library or app and want help adopting swift-huggingface, reach out — we're happy to help.

Faster downloads with Xet. We're adding support for the Xet storage backend , which enables chunk-based deduplication and significantly faster downloads for large models. More on this soon.

We'd love your feedback. If you've been frustrated with model downloads in Swift, give this a try and let us know how it goes . Your experience reports will help us prioritize what to improve next.

Thanks to the swift-transformers community for the feedback that shaped this project, and to everyone who filed issues and shared their experiences. This is for you. ❤️

Why it matters

Introducing swift-huggingface: The Complete Swift Client for Hugging Face. Covered by Hugging Face on December 5, 2025.

Topic dossiers Hugging Face