Effortlessly build and package your PySide6 apps for Linux and Android apks — no command-line struggles, just a beautiful GUI!
Project description
Cross-Platform PySide6 Deployment Tool
A modern, interactive GUI tool to build and package your PySide6 applications for both Linux and Android, with support for custom icons, project configuration, and real-time build logs. Effortlessly build and package your PySide6 applications for Linux and Android with a single click! No more command-line struggles—just a beautiful, interactive GUI that guides you from project setup to APK and executable creation. Deploy, customize, and monitor your builds in real time, all in one place.
🚀 Features
- Build for Linux and Android (armv7a, aarch64, x86_64, i686)
- Custom app icon and project metadata
- Edit spec file before build (pause/resume)
- Real-time build log and progress
- One-click build/cancel/clear log
- Beautiful dark-themed UI with emoji indicators
🖥️ Requirements
- Python 3.10+
- PySide6
- PyInstaller
- GitPython
- 7z (for Android NDK extraction)
- Linux OS (for building Android APKs)
Install dependencies:
pip install PySide6 PyInstaller GitPython
sudo apt install p7zip-full
📦 Project Structure
.
├── main.py # Main GUI application
├── main.ui # Qt Designer UI file
├── ui_main.py # Generated Python UI code
├── build_Linux.py # Linux build logic
├── build_Android.py # Android build logic
├── spec_editor.txt # Script for editing spec files and pausing
└── ReadMe.md
🏁 Getting Started
- Clone or download this repository.
- Open a terminal in the project directory.
- Run the GUI:
python main.py
Or just install it from pip
-
pip install PySide6-to-apk
- Open a terminal.
- Run the GUI:
PySide6-to-apk
🛠️ Usage
1. Configure Your Project
- App Name: Enter your application's name.
- App Icon: Click 📂 Browse to select an image file for your app icon.
- Package Name: (Android) Enter your package name (e.g.,
org.example.myapp). - Version: Set your app version.
- Project Path: Select your PySide6 project directory.
2. Select Target Platforms
- Check the platforms you want to build for (🐧 Linux, 🤖 Android architectures).
3. (Optional) Edit Spec File
- Check "✏️ Edit Spec File manually" if you want to pause the build and edit the generated spec file before continuing.
4. Build
- Click 🚀 Build All Platforms to build for all targets.
- Or click ▶️ Build Selected to build only the checked platforms.
5. Monitor Progress
- View real-time logs in the build log area.
- As each build completes, a ✅ will appear next to the platform.
6. Pause/Resume for Spec Editing
- If you checked "Edit Spec File manually", the build will pause after generating the spec file.
- Edit the spec file in your project directory.
- Click ▶️ Continue to resume the build.
7. Cancel or Clear
- Click ❌ Cancel All to stop all running builds.
- Click 🧹 Clear Log to clear the build log area.
📂 Output
- Linux executables and Android APKs are placed in a
dist/folder inside your project directory.
📝 Notes
- The tool uses PyInstaller for Linux and
pyside6-android-deployfor Android. - For Android, the first build will download and set up the NDK, SDK, and wheels automatically.
- If you encounter permission issues, run the tool with appropriate permissions or adjust your project directory.
💡 Troubleshooting
- No spec file to edit?
You must start a build with "Edit Spec File manually" checked for the pause/edit/resume workflow to work. - Build fails or hangs?
Check the build log for errors. Ensure all dependencies are installed and your environment is set up for Android builds. - No hover effect on Cancel button?
Remove any custom/empty stylesheet from the button to inherit the global style.
🤝 Contributing
Pull requests and suggestions are welcome! Please open an issue for bugs or feature requests.
📜 License
MIT License (https://opensource.org/license/mit)
🙏 Acknowledgements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyside6_to_apk-1.0.0.tar.gz.
File metadata
- Download URL: pyside6_to_apk-1.0.0.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b6d83ebe8d4770e33839d4f2e9147bbc92e1401d566b4b56723c91bb66cadc4
|
|
| MD5 |
29f264446908f40e7d8cb013b166ba6a
|
|
| BLAKE2b-256 |
7bd1dc4f467396d4115c9b02a70b393b34431578893a1123d36c5fa5744f1b11
|
File details
Details for the file pyside6_to_apk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pyside6_to_apk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
405daf308795f76d13edf6a8996f97b5240f61f94f4a8c8624d59a92a8bea137
|
|
| MD5 |
827085dab663b3d7d6ec0818c8a1b195
|
|
| BLAKE2b-256 |
2f45369784bdb7709f9780f99198df2a6e0657d41eae7f924ca444532f0f30b7
|