Skip to content
upload-cloud

GitHub Action

Sync With Hugging Face Hub

v0.0.5 Latest version

Sync With Hugging Face Hub

upload-cloud

Sync With Hugging Face Hub

An action to sync files on GitHub with a repo on the Hugging Face Hub (https://hf.co)

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Sync With Hugging Face Hub

uses: nateraw/huggingface-sync-action@v0.0.5

Learn more about this action in nateraw/huggingface-sync-action

Choose a version

huggingface-sync-action

A GitHub action that'll sync files from a GitHub repo with the Hugging Face Hub. 🤗

A simple example repo using this can be found here.

Usage

The first step is to add a Hugging Face token with write access to your repo as a GitHub Secret. Below, mine is called HF_TOKEN. Then, you can use this action in your repo as shown below. 🤗

uses: nateraw/huggingface-sync-action@v0.0.5
with:
  # The github repo you are syncing from. Required.
  github_repo_id: ''

  # The Hugging Face repo id you want to sync to. (ex. 'username/reponame')
  # A repo with this name will be created if it doesn't exist. Required.
  huggingface_repo_id: ''

  # Hugging Face token with write access. Required.
  # Here, we provide a token that we called `HF_TOKEN` when we added the secret to our GitHub repo.
  hf_token: ${{ secrets.HF_TOKEN }}

  # The type of repo you are syncing to: model, dataset, or space.
  # Defaults to space.
  repo_type: 'space'
  
  # If true and the Hugging Face repo doesn't already exist, it will be created
  # as a private repo.
  #
  # Note: this param has no effect if the repo already exists.
  private: false

  # If repo type is space, specify a space_sdk. One of: streamlit, gradio, or static
  #
  # This option is especially important if the repo has not been created yet.
  # It won't really be used if the repo already exists.
  space_sdk: 'gradio'
  
  # If provided, subdirectory will determine which directory of the repo will be synced.
  # By default, this action syncs the entire GitHub repo.
  #
  # An example using this option can be seen here:
  # https://github.com/huggingface/fuego/blob/830ed98/.github/workflows/sync-with-huggingface.yml
  subdirectory: ''