HyperZip is a desktop application for optimizing and compressing banner folders to meet size requirements. It uses minification for HTML/CSS/JS and image compression via TinyPNG to reduce file sizes, then archives the optimized files using your preferred archiver.
- Multiple Archive Formats: Support for ZIP, RAR, 7Z, and ZPAQ formats
- HTML/CSS/JS Minification: Reduces text file sizes by removing unnecessary characters
- Image Compression: Optimizes PNG and JPEG images using TinyPNG API
- Quality Adjustment: Automatically adjusts image quality to meet target size
- Optimal Quality Search: Finds the highest possible quality that still meets size requirements
- User-Friendly Interface: Easy-to-use GUI with real-time progress logging
- Configuration Saving: Remembers your settings between sessions
- Download the HyperZip executable
- Run the executable
- If prompted, install any required archivers (WinRAR, 7-Zip, or ZPAQ)
- Select Project Folder: Choose the directory containing banner folders to process
- Configure Archive Settings: Select your preferred archiver and set paths
- Adjust Optimization Settings:
- Enable/disable minification
- TinyPNG API key (if using image compression)
- Clone or download this repository
- Install required packages:
pip install customtkinter pillow htmlmin jsmin csscompressor tinify
- Run the application:
python hyperzip_app.py
-
Use the one-click build script (recommended for beginners):
# In PowerShell: .\start-build.ps1 # One-click build script for PowerShell
# In Command Prompt: start-build.bat # One-click build script for Command Prompt
These scripts will automatically build HyperZip without requiring any additional commands.
-
Or use the interactive build helper:
# In PowerShell: .\build.ps1 # Interactive build helper for PowerShell
# In Command Prompt: build.bat # Interactive build helper for Command Prompt
These helper scripts will detect your environment and guide you through the build process.
-
Or run one of the build scripts directly:
# In PowerShell: .\build_all.ps1 # Builds for Windows and attempts macOS build if possible .\build_windows.bat # Builds for Windows only .\build_all.bat # Builds for Windows and attempts macOS build if possible
# In Command Prompt: build_windows.bat # Builds for Windows only build_all.bat # Builds for Windows and attempts macOS build if possible
Important Note for PowerShell Users: In PowerShell, you must prefix script names with
.\to run them from the current directory. For example, use.\start-build.ps1instead of juststart-build.ps1. -
Or build manually:
pip install pyinstaller pyinstaller HyperZip.spec
-
Find the executable in the
distfolder
- Run one of the build scripts:
Or manually:
chmod +x build_macos.sh ./build_macos.sh # Builds for macOS only chmod +x build_all.sh ./build_all.sh # Builds for macOS and attempts Windows build if Wine is available
pip3 install pyinstaller pyinstaller HyperZip.spec
- Find the application bundle in the
distfolder
- On Windows (PowerShell):
.\build_all.ps1 - On Windows (Command Prompt):
build_all.bat - On macOS:
./build_all.sh
For detailed build instructions, see build_instructions.md.
- Select Project Folder: Choose the directory containing banner folders to process
- Configure Archive Settings: Select your preferred archiver and set paths
- Adjust Optimization Settings:
- Enable/disable minification
- Enable/disable image compression
- Set PNG optimization level and JPEG quality
- Configure quality adjustment parameters
- Set Target Size: Specify the maximum size in KB for the output archives
- Start Processing: Click the "Start Processing" button
- Monitor Progress: Watch the log area for real-time updates
hyperzip_app.py- Main GUI applicationhyperzip_core.py- Core settings and constantshyperzip_minify.py- HTML/CSS/JS minificationhyperzip_image.py- Image compression via TinyPNGhyperzip_utils.py- Utility functionshyperzip_archive.py- Archive creation and optimizationhyperzip_main.py- Main processing logicpack.py- Simple command-line entry point
- CustomTkinter for the modern UI
- TinyPNG for the image compression API
