feat: add PyInstaller support for executable builds
This commit is contained in:
parent
019b8d0794
commit
841bc77330
|
|
@ -0,0 +1,46 @@
|
||||||
|
name: Build Windows Executable
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install pyinstaller
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
- name: Build executable
|
||||||
|
run: |
|
||||||
|
pyinstaller icon_extractor.spec --clean
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: EU-Icon-Extractor-Windows
|
||||||
|
path: dist/EU-Icon-Extractor.exe
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
files: dist/EU-Icon-Extractor.exe
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
@ -4,6 +4,12 @@ A standalone tool for extracting item icons from Entropia Universe game cache.
|
||||||
|
|
||||||
<img src="icon.ico" width="64" height="64" alt="EU Icon Extractor">
|
<img src="icon.ico" width="64" height="64" alt="EU Icon Extractor">
|
||||||
|
|
||||||
|
## Download
|
||||||
|
|
||||||
|
**[Download Latest Release](https://github.com/ImpulsiveFPS/EU-Icon-Extractor/releases/latest)**
|
||||||
|
|
||||||
|
Download `EU-Icon-Extractor.exe` and run it - no installation needed!
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
Extract item icons from Entropia Universe cache and convert them to PNG format.
|
Extract item icons from Entropia Universe cache and convert them to PNG format.
|
||||||
|
|
@ -12,11 +18,16 @@ Extract item icons from Entropia Universe cache and convert them to PNG format.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
### Option 1: Download Executable (Recommended)
|
||||||
|
1. Download `EU-Icon-Extractor.exe` from [Releases](https://github.com/ImpulsiveFPS/EU-Icon-Extractor/releases/latest)
|
||||||
|
2. Double-click to run - no installation needed!
|
||||||
|
|
||||||
|
### Option 2: Run from Source
|
||||||
```bash
|
```bash
|
||||||
python icon_extractor.py
|
python icon_extractor.py
|
||||||
```
|
```
|
||||||
|
|
||||||
### Requirements
|
#### Requirements
|
||||||
- Python 3.11+
|
- Python 3.11+
|
||||||
- PyQt6: `pip install PyQt6`
|
- PyQt6: `pip install PyQt6`
|
||||||
- Pillow: `pip install Pillow`
|
- Pillow: `pip install Pillow`
|
||||||
|
|
@ -51,6 +62,21 @@ Documents\Entropia Universe\Icons\
|
||||||
|
|
||||||
Entropia Universe Icon Extractor is a fan-made resource and is not affiliated with [MindArk PE AB](https://www.mindark.com/). [Entropia Universe](https://www.entropiauniverse.com/) is a trademark of MindArk PE AB.
|
Entropia Universe Icon Extractor is a fan-made resource and is not affiliated with [MindArk PE AB](https://www.mindark.com/). [Entropia Universe](https://www.entropiauniverse.com/) is a trademark of MindArk PE AB.
|
||||||
|
|
||||||
|
## Building from Source
|
||||||
|
|
||||||
|
If you want to build the executable yourself:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install dependencies
|
||||||
|
pip install pyinstaller
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
# Build executable
|
||||||
|
pyinstaller icon_extractor.spec --clean
|
||||||
|
```
|
||||||
|
|
||||||
|
The executable will be in `dist/EU-Icon-Extractor.exe`
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT License - Feel free to use and modify!
|
MIT License - Feel free to use and modify!
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
# PyInstaller spec file for EU Icon Extractor
|
||||||
|
# Usage: pyinstaller icon_extractor.spec
|
||||||
|
|
||||||
|
block_cipher = None
|
||||||
|
|
||||||
|
a = Analysis(
|
||||||
|
['icon_extractor.py'],
|
||||||
|
pathex=[],
|
||||||
|
binaries=[],
|
||||||
|
datas=[('icon.ico', '.'), ('assets/icon.ico', 'assets')],
|
||||||
|
hiddenimports=[],
|
||||||
|
hookspath=[],
|
||||||
|
hooksconfig={},
|
||||||
|
runtime_hooks=[],
|
||||||
|
excludes=[],
|
||||||
|
win_no_prefer_redirects=False,
|
||||||
|
win_private_assemblies=False,
|
||||||
|
cipher=block_cipher,
|
||||||
|
noarchive=False,
|
||||||
|
)
|
||||||
|
|
||||||
|
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
|
||||||
|
|
||||||
|
exe = EXE(
|
||||||
|
pyz,
|
||||||
|
a.scripts,
|
||||||
|
a.binaries,
|
||||||
|
a.zipfiles,
|
||||||
|
a.datas,
|
||||||
|
[],
|
||||||
|
name='EU-Icon-Extractor',
|
||||||
|
debug=False,
|
||||||
|
bootloader_ignore_signals=False,
|
||||||
|
strip=False,
|
||||||
|
upx=True,
|
||||||
|
upx_exclude=[],
|
||||||
|
runtime_tmpdir=None,
|
||||||
|
console=False, # No console window
|
||||||
|
disable_windowed_traceback=False,
|
||||||
|
target_arch=None,
|
||||||
|
codesign_identity=None,
|
||||||
|
entitlements_file=None,
|
||||||
|
icon='icon.ico', # App icon
|
||||||
|
)
|
||||||
Loading…
Reference in New Issue