# HuggingFS
A Web UI for downloading Huggingface repositories.
# Install
```
git clone https://github.com/cocktailpeanut/huggingfs
cd huggingfs
pip install -r requirements.txt
```
# Usage
## 1. Minimal
Let's say you want to set the root path of the file system as `./models`.
Create a file named `hfs.json`:
```json
{
"fs": [{
"path": "models",
}]
}
```
Then start the UI:
```
huggingfs hfs.json
```
## 2. Curated Options
The minimal version only lets you download by entering the HuggingFace ID (example: `KwaiVGI/LivePortrait`).
But often you will want to provide a pre-set options, from which the end users can select from. In this case, you can specify the `options` array:
```json
{
"fs": [{
"path": "models",
"options": [
"nvidia/Minitron-4B-Base",
"coqui/XTTS-v2",
"KwaiVGI/LivePortrait",
"BAAI/bge-m3",
"vidore/colpali"
]
}]
}
```
Now start huggingfs
```
huggingfs hfs.json
```
## 3. Multiple Folders
Often you may want to store files to multiple folders.
For example, you may want to allow:
1. downloading model checkpoints to `stable-diffusion-webui/models/Stable-diffusion`
2. downloading Loras to `stable-diffusion-webui/models/Lora`
In this case you can simply extend the `fs` array like this:
This will create a dropdown
```json
{
"fs": [{
"path": "stable-diffusion-webui/models/Stable-diffusion",
"options": [
"stabilityai/stable-diffusion-3-medium",
"xinsir/controlnet-union-sdxl-1.0",
"fal/AuraFlow"
]
}, {
"path": "stable-diffusion-webui/models/Lora",
"options": [
"2vXpSwA7/iroiro-lora",
"Cseti/Basic_camera_motion_LoRAs_sd15-ad2-v1"
]
}]
}
```
And simply restart the app with:
```
huggingfs hfs.json
```
Raw data
{
"_id": null,
"home_page": "https://github.com/cocktailpeanut/huggingfs",
"name": "huggingfs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/3f/c0/9f7c3e0595768c18ffbacbc88eedd906920681c7ee385c592d892d4a4930/huggingfs-0.5.tar.gz",
"platform": null,
"description": "# HuggingFS\n\nA Web UI for downloading Huggingface repositories.\n\n# Install\n\n```\ngit clone https://github.com/cocktailpeanut/huggingfs\ncd huggingfs\npip install -r requirements.txt\n```\n\n# Usage\n\n## 1. Minimal\n\nLet's say you want to set the root path of the file system as `./models`.\n\nCreate a file named `hfs.json`:\n\n```json\n{\n \"fs\": [{\n \"path\": \"models\",\n }]\n}\n```\n\nThen start the UI:\n\n```\nhuggingfs hfs.json\n```\n\n## 2. Curated Options\n\nThe minimal version only lets you download by entering the HuggingFace ID (example: `KwaiVGI/LivePortrait`).\n\nBut often you will want to provide a pre-set options, from which the end users can select from. In this case, you can specify the `options` array:\n\n```json\n{\n \"fs\": [{\n \"path\": \"models\",\n \"options\": [\n \"nvidia/Minitron-4B-Base\",\n \"coqui/XTTS-v2\",\n \"KwaiVGI/LivePortrait\",\n \"BAAI/bge-m3\",\n \"vidore/colpali\"\n ]\n }]\n}\n```\n\nNow start huggingfs\n\n```\nhuggingfs hfs.json\n```\n\n## 3. Multiple Folders\n\nOften you may want to store files to multiple folders.\n\nFor example, you may want to allow:\n\n1. downloading model checkpoints to `stable-diffusion-webui/models/Stable-diffusion`\n2. downloading Loras to `stable-diffusion-webui/models/Lora`\n\nIn this case you can simply extend the `fs` array like this:\n\nThis will create a dropdown\n\n\n```json\n{\n \"fs\": [{\n \"path\": \"stable-diffusion-webui/models/Stable-diffusion\",\n \"options\": [\n \"stabilityai/stable-diffusion-3-medium\",\n \"xinsir/controlnet-union-sdxl-1.0\",\n \"fal/AuraFlow\"\n ]\n }, {\n \"path\": \"stable-diffusion-webui/models/Lora\",\n \"options\": [\n \"2vXpSwA7/iroiro-lora\",\n \"Cseti/Basic_camera_motion_LoRAs_sd15-ad2-v1\"\n ]\n }]\n}\n```\n\nAnd simply restart the app with:\n\n```\nhuggingfs hfs.json\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "huggingface downloader web ui",
"version": "0.5",
"project_urls": {
"Homepage": "https://github.com/cocktailpeanut/huggingfs"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "25ae666636f94c051e7fe4d05ed3783d06211f04de5ac1ce15159cf4cb49b841",
"md5": "f9cf7e0352d45922877a9bf439df0646",
"sha256": "5420aeffcd69a74e3990757745baaa18c05642ba8938dc87e74f1ddac5c78579"
},
"downloads": -1,
"filename": "huggingfs-0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f9cf7e0352d45922877a9bf439df0646",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 3777,
"upload_time": "2024-07-27T21:01:09",
"upload_time_iso_8601": "2024-07-27T21:01:09.650129Z",
"url": "https://files.pythonhosted.org/packages/25/ae/666636f94c051e7fe4d05ed3783d06211f04de5ac1ce15159cf4cb49b841/huggingfs-0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3fc09f7c3e0595768c18ffbacbc88eedd906920681c7ee385c592d892d4a4930",
"md5": "432afb72eb6a4717882ff777186ce004",
"sha256": "99ae69845fe3f68e61aba822fac2530c52cd446b2e83801b086edff49f5a6300"
},
"downloads": -1,
"filename": "huggingfs-0.5.tar.gz",
"has_sig": false,
"md5_digest": "432afb72eb6a4717882ff777186ce004",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3301,
"upload_time": "2024-07-27T21:01:11",
"upload_time_iso_8601": "2024-07-27T21:01:11.623134Z",
"url": "https://files.pythonhosted.org/packages/3f/c0/9f7c3e0595768c18ffbacbc88eedd906920681c7ee385c592d892d4a4930/huggingfs-0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-27 21:01:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cocktailpeanut",
"github_project": "huggingfs",
"github_not_found": true,
"lcname": "huggingfs"
}