Hub Python Library documentation

Installation

You are viewing v0.17.3 version. A newer version v0.21.0 is available.
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Installation

Before you start, you will need to setup your environment by installing the appropriate packages.

huggingface_hub is tested on Python 3.8+.

Install with pip

It is highly recommended to install huggingface_hub in a virtual environment. If you are unfamiliar with Python virtual environments, take a look at this guide. A virtual environment makes it easier to manage different projects, and avoid compatibility issues between dependencies.

Start by creating a virtual environment in your project directory:

python -m venv .env

Activate the virtual environment. On Linux and macOS:

source .env/bin/activate

Activate virtual environment on Windows:

.env/Scripts/activate

Now you’re ready to install huggingface_hub from the PyPi registry:

pip install --upgrade huggingface_hub

Once done, check installation is working correctly.

Install optional dependencies

Some dependencies of huggingface_hub are optional because they are not required to run the core features of huggingface_hub. However, some features of the huggingface_hub may not be available if the optional dependencies aren’t installed.

You can install optional dependencies via pip:

# Install dependencies for tensorflow-specific features
# /!\ Warning: this is not equivalent to `pip install tensorflow`
pip install 'huggingface_hub[tensorflow]'

# Install dependencies for both torch-specific and CLI-specific features.
pip install 'huggingface_hub[cli,torch]'

Here is the list of optional dependencies in huggingface_hub:

  • cli: provide a more convenient CLI interface for huggingface_hub.
  • fastai, torch, tensorflow: dependencies to run framework-specific features.
  • dev: dependencies to contribute to the lib. Includes testing (to run tests), typing (to run type checker) and quality (to run linters).

Install from source

In some cases, it is interesting to install huggingface_hub directly from source. This allows you to use the bleeding edge main version rather than the latest stable version. The main version is useful for staying up-to-date with the latest developments, for instance if a bug has been fixed since the last official release but a new release hasn’t been rolled out yet.

However, this means the main version may not always be stable. We strive to keep the main version operational, and most issues are usually resolved within a few hours or a day. If you run into a problem, please open an Issue so we can fix it even sooner!

pip install git+https://github.com/huggingface/huggingface_hub

When installing from source, you can also specify a specific branch. This is useful if you want to test a new feature or a new bug-fix that has not been merged yet:

pip install git+https://github.com/huggingface/huggingface_hub@my-feature-branch

Once done, check installation is working correctly.

Editable install

Installing from source allows you to setup an editable install. This is a more advanced installation if you plan to contribute to huggingface_hub and need to test changes in the code. You need to clone a local copy of huggingface_hub on your machine.

# First, clone repo locally
git clone https://github.com/huggingface/huggingface_hub.git

# Then, install with -e flag
cd huggingface_hub
pip install -e .

These commands will link the folder you cloned the repository to and your Python library paths. Python will now look inside the folder you cloned to in addition to the normal library paths. For example, if your Python packages are typically installed in ./.venv/lib/python3.11/site-packages/, Python will also search the folder you cloned ./huggingface_hub/.

Install with conda

If you are more familiar with it, you can install huggingface_hub using the conda-forge channel:

conda install -c conda-forge huggingface_hub

Once done, check installation is working correctly.

Check installation

Once installed, check that huggingface_hub works properly by running the following command:

python -c "from huggingface_hub import model_info; print(model_info('gpt2'))"

This command will fetch information from the Hub about the gpt2 model. Output should look like this:

Model Name: gpt2
Tags: ['pytorch', 'tf', 'jax', 'tflite', 'rust', 'safetensors', 'gpt2', 'text-generation', 'en', 'doi:10.57967/hf/0039', 'transformers', 'exbert', 'license:mit', 'has_space']
Task: text-generation

Windows limitations

With our goal of democratizing good ML everywhere, we built huggingface_hub to be a cross-platform library and in particular to work correctly on both Unix-based and Windows systems. However, there are a few cases where huggingface_hub has some limitations when run on Windows. Here is an exhaustive list of known issues. Please let us know if you encounter any undocumented problem by opening an issue on Github.

  • huggingface_hub’s cache system relies on symlinks to efficiently cache files downloaded from the Hub. On Windows, you must activate developer mode or run your script as admin to enable symlinks. If they are not activated, the cache-system still works but in an non-optimized manner. Please read the cache limitations section for more details.
  • Filepaths on the Hub can have special characters (e.g. "path/to?/my/file"). Windows is more restrictive on special characters which makes it impossible to download those files on Windows. Hopefully this is a rare case. Please reach out to the repo owner if you think this is a mistake or to us to figure out a solution.

Next steps

Once huggingface_hub is properly installed on your machine, you might want configure environment variables or check one of our guides to get started.