huggingface_hub
The official Python client and hf CLI for the Hugging Face Hub, for downloading, uploading, and managing models, datasets, and Spaces.
Repository Health
Technical Analysis
huggingface_hub is the official Python library and command-line client for interacting with the Hugging Face Hub, the platform hosting hundreds of thousands of open models, datasets, and Spaces. It wraps the Hub’s REST API behind a single package that ships both a Python SDK (from huggingface_hub import hf_hub_download) and the hf CLI, giving humans and coding agents the same surface for downloading files, uploading repositories, running inference against deployed models, and managing repos programmatically.
Beyond simple file transfer, the library handles the operational complexity of working with the Hub at scale: chunked, resumable downloads with local caching, LFS/Xet-backed large file uploads, repository and commit management, model card metadata, webhooks, OAuth login flows, and typed clients for Inference Providers and Jobs. It is the dependency that libraries like transformers, diffusers, and datasets build on to talk to the Hub, and is equally usable standalone for any project that needs to read or write Hub-hosted artifacts.
What You Get
- The
hfCLI (hf auth login,hf download,hf upload,hf models ls,hf jobs run) for scripting Hub operations from the terminal or CI - A Python SDK (
hf_hub_download,snapshot_download,upload_file,upload_folder,create_repo) for downloading and publishing files and repos in code - A resumable, chunk-deduplicated local cache (backed by Xet) so repeated downloads of large models and datasets don’t re-fetch unchanged data
HfApi— a full typed client for repo management, discussions, webhooks, commits, and repository search across models, datasets, and Spaces- Inference clients (sync and async) for calling models deployed via Inference Providers, plus a Jobs API for running arbitrary workloads on Hugging Face infrastructure
- Model Card and OAuth/OIDC helpers for documenting models and building Hub-authenticated applications
Common Use Cases
- Downloading pretrained model weights or dataset files into a local cache from application or training code
- Publishing a fine-tuned model, dataset, or Space to the Hub from a training script or CI pipeline
- Building a coding agent or CLI tool that needs to search, download, or run inference against Hub-hosted models
- Managing Hub repositories programmatically — creating repos, committing files, handling large uploads via LFS/Xet
- Running Hugging Face-hosted Jobs for remote compute without provisioning separate infrastructure
Under The Hood
Architecture - The package is organized around a thin, functional download/upload layer (file_download.py, _snapshot_download.py, _commit_api.py, _upload_large_folder.py) and a broad HfApi client (hf_api.py, 36k+ lines across the package) that wraps every Hub REST endpoint — repos, discussions, webhooks, collections, papers, Spaces, and Jobs. The cli/ subpackage layers a Click-based hf command over the same SDK calls, so CLI and Python usage share one code path. Inference (inference/) and serialization (serialization/) are kept as separate subpackages so heavier optional dependencies (torch, safetensors) don’t load unless used. Tech Stack - Core runtime dependencies are deliberately minimal: httpx for HTTP, filelock/fsspec for local cache safety, hf-xet for chunk-deduplicated large-file transfer, click for the CLI, and pyyaml/packaging/tqdm as small utilities; heavier integrations (torch, fastai, gradio, mcp, oauth/fastapi) are all pushed into extras, keeping a bare pip install huggingface_hub lightweight. Code Quality - The tests/ directory is extensive (36k+ lines, dozens of test_*.py files covering caching, CLI, commit API, inference, and buckets) with pytest markers to separate Xet-dependent, production-Hub, and deprecated-API tests; ruff and mypy/ty are configured for linting and type-checking, and the codebase makes consistent use of type hints and dataclasses throughout hf_api.py and dataclasses.py. API Design - The public API favors small, single-purpose functions (hf_hub_download, upload_file, create_repo) for common tasks while exposing the full surface through one HfApi class for advanced use, and the same operations are mirrored 1:1 between the Python SDK and the hf CLI, minimizing the learning gap between scripting and terminal use; documentation is hosted separately at huggingface.co/docs/huggingface_hub with dedicated guides per feature area (download, upload, inference, jobs, search).
Used by 15 apps in this directory
Agno
Devops · AI Development · Automation
Build, run, and manage agent platforms with a full production stack — SDK, runtime, and control plane included.
argilla
AI Development · Data Engineering
Collaborate on high-quality AI training data with a self-hosted annotation platform built for LLMs, NLP, and multimodal models.
AutoGPT
Automation · Productivity · AI Assistants
Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.
Colibri
AI Development · Developer Tools
A pure-C, zero-dependency inference engine that runs GLM-5.2's 744-billion-parameter mixture-of-experts model on consumer hardware with roughly 25GB of RAM by streaming experts from disk like a JIT compiler stages hot code.
Firecrawl
AI Development · Developer Tools
Turn any website into clean, LLM-ready data with a single API call — no proxy headaches, no scraping complexity.
GPT Researcher
Productivity · AI Assistants
The pioneering open-source autonomous AI agent that conducts deep, multi-source research and produces citation-backed reports exceeding 2,000 words — faster and more reliably than any human researcher.
headroom
AI Development · Developer Tools
Compress everything your AI agent reads — tool outputs, logs, RAG chunks, and files — before it reaches the LLM, achieving 60–95% fewer tokens with the same answers.
Helicone
Monitoring · AI Development · Analytics
An open-source AI gateway and LLM observability platform that routes requests to 100+ models while logging cost, latency, and full traces for every call.
Khoj
AI Assistants · Knowledge Management · Productivity
A self-hostable AI second brain that chats with your documents, searches the web, builds custom agents, and runs entirely on your own LLM.