A CLI tool to manage Hugging Face models.
Project description
HF-MODEL-TOOL
A CLI tool for managing your locally downloaded Huggingface models and datasets
Disclaimer: This tool is not affiliated with or endorsed by Hugging Face. It is an independent, community-developed utility.
Screenshots
Welcome Screen
List All Assets
Features
Core Functionality
- Smart Asset Detection: Detect HuggingFace models, datasets, LoRA adapters, fine-tuned models, and custom formats
- Asset Listing: View all your AI assets with size information and metadata
- Duplicate Detection: Find and clean duplicate downloads to save disk space
- Asset Details: View model configurations and dataset documentation with rich formatting
- Directory Management: Add and manage custom directories containing your AI assets
Supported Asset Types
- HuggingFace Models & Datasets: Standard cached downloads from Hugging Face Hub
- LoRA Adapters: Fine-tuned adapters from training frameworks like Unsloth
- Custom Models: Fine-tuned models, merged models, and other custom formats
Installation
From PyPI (Recommended)
pip install hf-model-tool
From Source
git clone https://github.com/Chen-zexi/hf-model-tool.git
cd hf-model-tool
pip install -e .
Usage
Interactive Mode
hf-model-tool
Launches the interactive CLI with:
- System status showing assets across all configured directories
- Asset management tools for all supported formats
- Easy directory configuration and management
Command Line Usage
The tool provides comprehensive command-line options for direct operations:
Basic Commands
# Launch interactive mode
hf-model-tool
# List all detected assets
hf-model-tool -l
hf-model-tool --list
# Enter asset management mode
hf-model-tool -m
hf-model-tool --manage
# View detailed asset information
hf-model-tool -v
hf-model-tool --view
hf-model-tool --details
# Show version
hf-model-tool --version
# Show help
hf-model-tool -h
hf-model-tool --help
Directory Management
# Add a directory containing LoRA adapters
hf-model-tool -path ~/my-lora-models
hf-model-tool --add-path ~/my-lora-models
# Add a custom model directory
hf-model-tool -path /data/custom-models
# Add current working directory
hf-model-tool -path .
# Add with absolute path
hf-model-tool -path /home/user/ai-projects/models
Sorting Options
# List assets sorted by size (default)
hf-model-tool -l --sort size
# List assets sorted by name
hf-model-tool -l --sort name
# List assets sorted by date
hf-model-tool -l --sort date
Interactive Navigation
- ↑/↓ arrows: Navigate menu options
- Enter: Select current option
- Back: Select to return to previous menu
- Config: Select to access settings and directory management
- Main Menu: Select to return to main menu from anywhere
- Exit: Select to clean application shutdown
- Ctrl+C: Force exit
Key Workflows
- Directory Setup: Add directories containing your AI assets (HuggingFace cache, LoRA adapters, custom models)
- List Assets: View all detected assets with size information across all directories
- Manage Assets: Delete unwanted files and deduplicate identical assets
- View Details: Inspect model configurations and dataset documentation
- Configuration: Manage directories, change sorting preferences, and access help
Configuration
Directory Management
Add custom directories containing your AI assets:
- HuggingFace Cache: Standard HF cache with
models--publisher--namestructure - Custom Directory: LoRA adapters, fine-tuned models, or other custom formats
- Auto-detect: Let the tool automatically determine the directory type
Interactive Configuration
Access via "Config" from any screen:
- Directory Management: Add, remove, and test directories
- Sort Options: Size (default), Date, or Name
- Help System: Navigation and usage guide
Project Structure
hf_model_tool/
├── __main__.py # Application entry point with welcome screen
├── cache.py # Multi-directory asset scanning
├── ui.py # Rich terminal interface components
├── utils.py # Asset grouping and duplicate detection
├── navigation.py # Menu navigation
├── config.py # Configuration and directory management
└── asset_detector.py # Asset detection (LoRA, custom models, etc.)
Development
Requirements
- Python ≥ 3.7
- Dependencies:
rich,inquirer,html2text
Logging
Application logs are written to ~/.hf-model-tool.log for debugging and monitoring.
Configuration Storage
Settings and directory configurations are stored in ~/.config/hf-model-tool/config.json
Contributing
We welcome contributions from the community! Please feel free to:
- Open an issue at GitHub Issues
- Submit a pull request with your improvements
- Share feedback about your experience using the tool
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hf_model_tool-0.2.1.tar.gz.
File metadata
- Download URL: hf_model_tool-0.2.1.tar.gz
- Upload date:
- Size: 41.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb7bcb2b9d36ac62f41e825252cd2360c49def2654e0293db477ebb8a0c2c3f7
|
|
| MD5 |
a54c733f7e2521859a45cee114a8619c
|
|
| BLAKE2b-256 |
ae3adc60fd1ebec55eb68311f243f961e2755ecc50001fd2a4eda64b8db3d93c
|
File details
Details for the file hf_model_tool-0.2.1-py3-none-any.whl.
File metadata
- Download URL: hf_model_tool-0.2.1-py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
448fad74f46b73c6d2ed1995fb9414a91f45a31e1c27d1dd37ad4764d2cfd61e
|
|
| MD5 |
fbd57c255792895ad052cc1308b8fef9
|
|
| BLAKE2b-256 |
19dec05e1f0e8966b770d8945b46799ac0f4550c4125789986f97770acd64e2d
|