ElBruno.HuggingFace.Downloader

Hugging Face downloads.
Built for .NET.

Bring the files your app needs from the Hub to your machine. A model-agnostic library and CLI for reliable downloads, local caching, and verified bundles.

  • Free to use
  • Open source
  • MIT licensed
Your terminal. Your files.
> hfdownload download sentence-transformers/all-MiniLM-L6-v2 onnx/model.onnx tokenizer.json

Checking    Required files
Downloading Files from the Hub
Validating  Downloaded files
Complete    Ready for your app
Illustrative download stages, not a live download.
Less plumbing. More building.

Everything around the download, handled.

ONNX models, tokenizers, voice presets, datasets, or any other repository file. You choose what to download and where it belongs.

01 / RELIABILITY

Pick up where you left off

Resume interrupted downloads with HTTP range requests. Atomic writes are enabled by default to keep incomplete files out of the final destination.

02 / LOCAL CACHE

Download only what you need

Skip existing files, check what is available, and inspect or manage your cache from code or the command line.

03 / INTEGRITY

Know exactly what you downloaded

Pin revisions, inspect resolved commits, and validate manifest-based bundles against expected SHA-256 hashes and file sizes.

04 / DISCOVERY

Explore before you download

List remote files in model, dataset, and Space repositories. Choose required and optional files for your application.

05 / VISIBILITY

Keep users in the loop

Track checking, downloading, validating, and completion stages. Integrate structured logging and dependency injection in your .NET app.

06 / FLEXIBILITY

Connect to your Hub

Use public repositories, authenticate for gated or private files, or configure a custom Hub endpoint. Bring your own HttpClient when you need it.

One downloader. Two ways to use it.

Add the library to your application or install the standalone .NET tool. Both are available on NuGet.

For your application

ElBruno.HuggingFace.Downloader

A reusable .NET library for download requests, progress reporting, cache management, and manifest-based bundles.

dotnet add package ElBruno.HuggingFace.Downloader
Get the library on NuGet →
For your terminal

ElBruno.HuggingFace.Downloader.Cli

The hfdownload command for downloading files, discovering repository contents, and managing your local cache.

dotnet tool install -g ElBruno.HuggingFace.Downloader.Cli
Get the CLI on NuGet →

Current projects target .NET 8 and .NET 10. CLI cache helpers support Windows, Linux, and macOS.

From the Hub to your app, in a few lines.

Choose your repository, file list, and local directory. The downloader handles the rest.

using ElBruno.HuggingFace;

using var downloader = new HuggingFaceDownloader();

await downloader.DownloadFilesAsync(new DownloadRequest
{
    RepoId = "sentence-transformers/all-MiniLM-L6-v2",
    LocalDirectory = "./models/miniLM",
    RequiredFiles = ["onnx/model.onnx", "tokenizer.json"]
});

The model above is just an example. The library is not tied to any model or inference framework.

Open source. No downloader account.

Use the library and CLI for free under the MIT license. There are no in-app purchases or downloader service accounts. Files are saved to a directory you control. Downloads contact Hugging Face or your configured Hub endpoint; gated and private repositories may require a Hugging Face account, access approval, and token. This website has no analytics, cookies, external fonts, or third-party scripts. GitHub Pages and Hub providers may process request metadata under their own policies.

Go from quick start to full control.

Examples, commands, and API details live alongside the source so you can explore how it all works.

Available now on NuGet

Build something that runs locally.

Get the .NET library or CLI. Read the source. Make it yours.