π³ Model Family Tree β Local Desktop App
Automatically traces and visualises the family tree of any Hugging Face model in a single self-contained desktop window β no browser or external viewer needed.
Nodes are colour-coded by license type. The tree is interactive: zoom, pan, and hover over any node to see its full model ID.
β οΈ This is a desktop application (requires Python on your machine).
It is distributed as a code repository, not a Hugging Face Space.
For the original hosted web version, see mlabonne/model-family-tree.
Credits
| Contributor | Contribution |
|---|---|
| Thanks to mlabonne and leonardlin for the original code and adaptation this python app was based on. | |
| thebrinkster | Wrapped original backend code in Tkinter and adapted it to run locally from a Google Colab notebook that can be found (https://colab.research.google.com/drive/1s2eQlolcI1VGgDhqWIANfkfKvcKrMyNr?usp=sharing#scrollTo=lIYdn1woOS1n). |
| mlabonne | Original concept, core genealogy logic, and the Colab / HF Space this is adapted from |
| leonardlin | Original caching implementation for model cards |
| This repo | Local desktop adaptation β pywebview single-window GUI, vis.js rendering, cross-platform packaging |
Third-party libraries used:
| Library | License | Purpose |
|---|---|---|
| vis-network | Apache 2.0 | Interactive tree rendering |
| pywebview | BSD 3-Clause | Native desktop window (Edge/WebKit) |
| networkx | BSD 3-Clause | Graph construction |
| huggingface_hub | Apache 2.0 | Model card fetching |
| requests | Apache 2.0 | HTTP requests for merge YAML files |
Prerequisites
- Python 3.8+
pip(comes with Python)- Internet connection (to fetch model cards from Hugging Face)
Platform support:
| OS | Web engine used | Extra install? |
|---|---|---|
| Windows 10/11 | Edge WebView2 (built-in) | None |
| macOS | WKWebView (built-in) | None |
| Linux | GTK WebKit2 | sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.0 |
Setup (one time only)
pip install -r requirements.txt
Running
python model_tree.py
A single desktop window opens with everything inside it:
| Area | Purpose |
|---|---|
| Top bar | Model ID input field + Generate button |
| Left panel | Live log β shows each model as it's fetched |
| Main canvas | Interactive vis.js family tree |
| Status bar | Shows idle / running / done / error state |
Steps
- Type a Hugging Face model ID into the input box (e.g.
mistralai/Mistral-7B-v0.1) - Click Generate βΆ or press Enter
- Watch the log panel as models are fetched
- The tree appears in the main canvas when complete β zoom, pan, click nodes freely
- Clear the input, type a new model, and generate again any time
Legend
| Colour | Meaning |
|---|---|
| π’ Green | Permissive license (MIT, BSD, Apache-2.0, OpenRAIL) |
| π΄ Red/Coral | Noncommercial or restrictive license |
| β¬ Gray | License unknown or model card not found |
Tips
- Large trees can take a minute or two β watch the live log.
- The cache is cleared automatically on each new Generate run.
- The default model ID can be changed by editing
DEFAULT_MODEL_IDat the top ofmodel_tree.py.
License
MIT β see LICENSE for full text and third-party attributions.
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support