#hugging-face #huggingface #downloader #command-line #command-line-tool

app rustyface

A Huggingface downloading CLI tool written in Rust

3 releases

0.1.2 Mar 1, 2025
0.1.1 Aug 5, 2024
0.1.0 Aug 4, 2024

#1015 in Network programming

Download history 3/week @ 2024-12-08 2/week @ 2025-02-02 74/week @ 2025-02-23 81/week @ 2025-03-02

156 downloads per month

MIT license

260KB
374 lines

RustyFace

A command line app for downloading Huggingface repositories with Rust.

RustyFace Logo

Crates.io License: MIT

Why using this?

RustyFace does not require installing additional dependencies such as git or git lfs etc. It aims to be lightweight and portable. In addition to that, RustyFace is friendly to users who live in Mainland China, where HuggingFace accessibility is unstable, as this CLI app adopted a mirror that can be accessed globally.

The mirror site used in this project is hf-mirror.com

How to Install and Use RustyFace

First, you need to have Rust installed. For those new to Rust, please refer to the official installation guide.

Quickstart - Without Installation

You don't need to install Rust if you download the corresponding binaries to your platform from the Release section. That way, you can just type this command to download Huggingface repositories:

rustyface_windows_x86 --repository sentence-transformers/all-MiniLM-L6-v2 --tasks 4
  • rustyface_windows_x86 is the binary file name that you have downloaded from the Release section.
  • --repository is followed by the repo_id of the repository that you want to download from HuggingFace.
  • --tasks is followed by the number of concurrent downloads. For example, 4 means downloading 4 files at once. It is recommended to use a lower number if your network conditions do not support higher concurrency.

Quickstart - With Installtion

If you would like to reuse the program, it is recommended to install RustyFace onto your system rather than using the binaries. Here is how you can do it.

Install Rust

On Linux and macOS:

curl https://sh.rustup.rs -sSf | sh

On Windows, you can download the installation executable via this link: https://win.rustup.rs/

Install RustyFace

After done installing Rust, just type this to your terminal:

cargo install rustyface

Use RustyFace to Download Repositories

Try RustyFace out with this simple command line:

rustyface --repository sentence-transformers/all-MiniLM-L6-v2 --tasks 4
  • --repository is followed by the repo_id of the repository that you want to download from HuggingFace.
  • --tasks is followed by the number of concurrent downloads. For example, 4 means downloading 4 files at once. It is recommended to use a lower number if your network conditions do not support higher concurrency.

Feedback & Further Development

Any participation is appreciated! Feel free to submit an issue, discussion or pull request. You can find me on WeChat: baoxinyu2007 or Discord: https://discord.gg/UYfZeuPy

License

This project is licensed under the MIT License. See the LICENSE file for details.

Packages Used

  • clap for command line argument parsing.
  • futures-util for asynchronous operations.
  • indicatif for progress bars.
  • log for logging.
  • reqwest for HTTP requests.
  • sha2 for SHA-256 hashing.
  • tokio for asynchronous runtime.
  • fern for logging configuration.
  • chrono for date and time handling.

Dependencies

~18–31MB
~514K SLoC