HoyoSophonDL
HoyoSophonDL is a Python-based tool that replicates and simplifies the core functionality of HoYoPlay's internal downloader systems — inspired by
Hi3Helper.Sophon and SophonDownloader.
It supports both CLI and GUI modes, allowing users to download and manage HoYoPlay game assets efficiently.
🎯 Goal & Purpose
HoyoSophonDL is a Python-native reimplementation of HoYoPlay’s internal downloader logic.
Its primary goals are to:
- Provide a lightweight, cross-platform, and open-source downloader for HoYoPlay assets.
- Offer both a command-line interface (CLI) and a PyQt6 GUI for convenience.
- Enable multi-threaded, resumable, and cancelable downloads.
- Simplify asset management, manifest parsing, and patch version handling.
⚠️ Disclaimer:
This is an unofficial third-party tool unaffiliated with HoYoverse or Cognosphere.
It is designed purely for educational and experimental purposes.
🚀 Features
- 🧩 CLI downloader with progress tracking via
rich - 🖥️ PyQt6 GUI with progress bars, pause/resume/cancel controls
- ⚙️ Multi-threaded downloads using
ThreadPoolExecutor - 💾 Automatic resume via lightweight SQLite tracking
- 🔄 Asset validation and integrity checks
- 📦 Optional standalone
.exebuilder (Windows)
🧩 Installation
Option 1 — Install from GitHub
If the package isn’t yet on PyPI, you can install it directly:
pip install git+https://github.com/Jo0X01/HoyoSophonDL.git
Or clone and install manually:
git clone https://github.com/Jo0X01/HoyoSophonDL.git
cd HoyoSophonDL
pip install .
Option 2 — Install from PyPI (after publishing)
CLI-only (lightweight):
pip install HoyoSophonDL
With GUI (PyQt6) support:
pip install HoyoSophonDL[gui]
If you plan to build an executable:
pip install auto-py-to-exe
🧠 Usage
CLI Mode
python -m HoyoSophonDL <game_name> [options]
Common Options
| Flag | Description |
|---|---|
-l, --list |
List all available games |
-i, --info |
Show game info |
-ai, --asset-info |
Show asset info |
-d, --download |
Start downloading selected assets |
-c, --category |
Asset category (default: game) |
-V, --current |
Current version |
-U, --update |
Target update version |
-o, --output |
Output directory |
-t, --threads |
Number of download threads |
-g, --gui |
Launch PyQt6 GUI instead of CLI |
Example
python -m HoyoSophonDL "Honkai Impact 3rd" -d -c game -o ./downloads -t 20
GUI Mode
python -m HoyoSophonDL --gui
🏗️ Building Executables (Windows)
You can turn your Python project into a standalone .exe using auto-py-to-exe
🧱 Architecture Target
Your build’s architecture (x86 or x64) depends on your Python interpreter:
- To build x64, use 64-bit Python.
- To build x86, install 32-bit Python and rebuild.
⚖️ License
This project is licensed under the GNU General Public License v3.0 (GPLv3).
🧾 Credits
🧩 Author
Developed by Mr.Jo0x01
For learning, research, and open-source contribution.
Metadata
Release files for HoyoSophonDL 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hoyosophondl-1.0.5.tar.gz | 42.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hoyosophondl-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 88.6 kB
Release files / hoyosophondl-1.0.5.tar.gz
| Download URL | hoyosophondl-1.0.5.tar.gz |
|---|---|
| Size | 42.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
846b97dd0ff1c762311b2e6e26457795ff79acafeb1d040b2b0addf5d3665969
|
|
BLAKE2b-256 checksum How to use checksums |
66732b812d135370e8cbb8685c32062bc5b88f8fd2d70f9139f6a98a0913c773
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / hoyosophondl-1.0.5-py3-none-any.whl
| Download URL | hoyosophondl-1.0.5-py3-none-any.whl |
|---|---|
| Size | 45.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe44c7f2bc3932b70d9cd033b2e458a3f3b7de54cb91c977c3610ea1dd70b9dd
|
|
BLAKE2b-256 checksum How to use checksums |
04b90a56294cbb79365efa1bbb87316080749d2d30041e3511c55b5261aba134
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|