Expand description
§hf-fetch-model
Fast HuggingFace model downloads for Rust.
An embeddable library for downloading HuggingFace model repositories
with maximum throughput. Wraps hf_hub and adds repo-level orchestration.
§Quick Start
let outcome = hf_fetch_model::download("julien-c/dummy-unknown".to_owned()).await?;
println!("Model at: {}", outcome.inner().display());§Configured Download
use hf_fetch_model::FetchConfig;
let config = FetchConfig::builder()
.filter("*.safetensors")
.filter("*.json")
.on_progress(|e| {
println!("{}: {:.1}%", e.filename, e.percent);
})
.build()?;
let outcome = hf_fetch_model::download_with_config(
"google/gemma-2-2b".to_owned(),
&config,
).await?;
// outcome.is_cached() tells you if it came from local cache
let path = outcome.into_inner();§HuggingFace Cache
Downloaded files are stored in the standard HuggingFace cache directory
(~/.cache/huggingface/hub/), ensuring compatibility with Python tooling.
§Authentication
Set the HF_TOKEN environment variable to access private or gated models,
or use FetchConfig::builder().token().
Re-exports§
pub use config::FetchConfig;pub use config::FetchConfigBuilder;pub use config::Filter;pub use download::DownloadOutcome;pub use error::FetchError;pub use error::FileFailure;pub use progress::ProgressEvent;
Modules§
- cache
HuggingFacecache directory resolution and local model family scanning.- checksum
- SHA256 checksum verification for downloaded files.
- config
- Configuration for model downloads.
- discover
- Model family discovery via the
HuggingFaceHub API. - download
- Download orchestration for
HuggingFacemodel repositories. - error
- Error types for hf-fetch-model.
- progress
- Progress reporting for model downloads.
- repo
- Repository file listing via the
HuggingFaceAPI.
Functions§
- download
- Downloads all files from a
HuggingFacemodel repository. - download_
blocking - Blocking version of
download()for non-async callers. - download_
file - Downloads a single file from a
HuggingFacemodel repository. - download_
file_ blocking - Blocking version of
download_file()for non-async callers. - download_
files - Downloads all files from a
HuggingFacemodel repository and returns a filename → path map. - download_
files_ blocking - Blocking version of
download_files()for non-async callers. - download_
files_ with_ config - Downloads files from a
HuggingFacemodel repository using the given configuration and returns a filename → path map. - download_
files_ with_ config_ blocking - Blocking version of
download_files_with_config()for non-async callers. - download_
with_ config - Downloads files from a
HuggingFacemodel repository using the given configuration. - download_
with_ config_ blocking - Blocking version of
download_with_config()for non-async callers.