Skip to main content

HF-MODEL-TOOL

CI/CD Pipeline PyPI version Python versions License: MIT Code style: black

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

Welcome Screen

List All Assets

List Assets

Features

Core Functionality

  • Smart Asset Detection: Detect HuggingFace models, datasets, LoRA adapters, fine-tuned models, Ollama 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
  • Manifest System: Customize model names, publishers, and metadata with JSON manifests

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
  • Ollama Models: GGUF format models from Ollama (both user and system directories)

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

Integration with vLLM-CLI

The tool provides API specifically designed for vLLM-CLI for model discovery and management.

Also can be launched directly from vLLM-CLI

Serving Custom Models in vLLM-CLI

For detailed instructions on serving models from custom directories with vLLM-CLI, see:

Python API Usage

from hf_model_tool import get_downloaded_models
from hf_model_tool.api import HFModelAPI

# Quick access to models
models = get_downloaded_models()

# Full API access
api = HFModelAPI()
api.add_directory("/path/to/models", "custom")
assets = api.list_assets()

See API Reference for complete documentation.

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

  1. Directory Setup: Add directories containing your AI assets (HuggingFace cache, LoRA adapters, custom models)
  2. List Assets: View all detected assets with size information across all directories
  3. Manage Assets: Delete unwanted files and deduplicate identical assets
  4. View Details: Inspect model configurations and dataset documentation
  5. Configuration: Manage directories, change sorting preferences, and access help

Documentation

Quick Links

Configuration

Directory Management

Add custom directories containing your AI assets:

  • HuggingFace Cache: Standard HF cache with models--publisher--name structure
  • 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

Manifest System

Automatic Generation: When you add a custom directory, the tool automatically generates a models_manifest.json file that:

  • Becomes the primary source for model information
  • Is always read first for classification
  • Can be edited to ensure accurate display in vLLM-CLI

Customize model metadata using JSON manifests:

  • Define custom names for your models
  • Specify publishers and organizations
  • Add notes and documentation
  • See Manifest System Guide for details

Important: Review and edit auto-generated manifests to ensure model names and publishers are accurate for your use case.

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:

  1. Open an issue at GitHub Issues
  2. Submit a pull request with your improvements
  3. Share feedback about your experience using the tool

License

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hf_model_tool-0.2.5.tar.gz (74.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hf_model_tool-0.2.5-py3-none-any.whl (65.1 kB view details)

Uploaded Python 3

File details

Details for the file hf_model_tool-0.2.5.tar.gz.

File metadata

  • Download URL: hf_model_tool-0.2.5.tar.gz
  • Upload date:
  • Size: 74.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for hf_model_tool-0.2.5.tar.gz
Algorithm Hash digest
SHA256 e285fe9f464a9063cc9753db6a40dc28d03e7c58a36b29bc43854f22d55bbe06
MD5 54dc44d174dbc7be3e90e96c52f944a9
BLAKE2b-256 39b4e81f29da170b91f756c5b551180089048d14be21a591a123fb13c804a4ba

See more details on using hashes here.

File details

Details for the file hf_model_tool-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: hf_model_tool-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 65.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for hf_model_tool-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d17a165808a63f38f66351670e2f670bfb4b77597abec3aed1bd98434bddf452
MD5 2dd722049784677c3ce571bbebd03cb0
BLAKE2b-256 84942143b7e7c709b371299187c8d4ee8e7737fee51978ec8aef5f9f11e2bd5c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.5 This release

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page