Skip to main content

Python Automation tool for building PySide6 UI and PyInstaller EXE.

Project description

🛠️ maketool

maketool is a command-line utility and helper module that simplifies execution and building PySide6 Python 3.7+ applications into executables using PyInstaller 5.8.0.

It's especially useful for GUI projects that need embedded resources (e.g., .ui, .qrc) and aim to produce portable .exe builds with minimal setup.


❤️ Why Use maketool?

If you build windows desktop apps using PySide6 or PyQt, maketool:

  • Saves time when converting .ui and .qrc files
  • Simplifies PyInstaller builds
  • Packages your application with minimal commands
  • Automates repetitive tasks like building and cleanup
  • Integrates easily with .bat scripts or shell commands
  • Is great for both beginners and advanced developers using PySide6

🔧 Commands

1. run

Executes the Python program after recursively builds all .ui and .qrc files in the current directory and subdirectories using pyside6-uic.exe and pyside6-rcc.exe. Then run python source code.

Note: it will ONLY rebuild pyside components that are out of date, so that execution is fast as possible, yet always includes any changes. FYI: python program is run with pythonw.exe so that the terminal window does not appear.

usage: maketool-run [-h] file

positional parameters:
  file        python file to run

parameters:
  -h, --help  show this help message and exit

2. clean

Removes temporary files and build artifacts, including:

  • __pycache__ folders
  • *_ui.py, *_rc.py, *.pyc, *.pyo
  • PyInstaller build/ and dist/ folders
  • .spec files in the current directory

Run it like this:

maketool-clean

3. compile

Builds your python app into an executable using PyInstaller.

  • Compiles .ui and .qrc and image resources
  • Generates a PyInstaller .spec file
  • Runs PyInstaller with the provided options
usage: maketool-compile [-h] --file FILE --type {onefile,onedir,console} [--icon="myicon.ico"] [--embed="sqlite3.dll"]

parameters:
  -h, --help            show this help message and exit
  --file FILE           python file to compile to exe
  --type {onefile,onedir,console}
                        type of exe to build
  --icon ICON           ico file
  --embed EMBED         comma delimited list of files to embed

✨ Features

  • 💡 Simple command-line interface for .bat or .sh workflows
  • 🔄 Converts all .ui and .qrc files recursively
  • 🧹 Cleans up Python build artifacts
  • 📦 Packages apps using PyInstaller
  • 🛠️ Supports custom .ico icons
  • 📎 Supports optional resource embedding

📦 Requirements


📥 Installation

Install maketool helper from PyPI with following command:

pip install maketool

📝 License

MIT License
© 2025 Alan Lilly

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maketool-0.4.9.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

maketool-0.4.9-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file maketool-0.4.9.tar.gz.

File metadata

  • Download URL: maketool-0.4.9.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for maketool-0.4.9.tar.gz
Algorithm Hash digest
SHA256 98e8e060ce8d570ed71c70a8f343cccf5f7ed4d5043e8ede9092500d99ed980e
MD5 3983b96977fb15f63d5306bb0166943a
BLAKE2b-256 2393de01d56a2c93e823d8ee6b3709567a43ebe95dde4c91ea72e852b7acd77a

See more details on using hashes here.

File details

Details for the file maketool-0.4.9-py3-none-any.whl.

File metadata

  • Download URL: maketool-0.4.9-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for maketool-0.4.9-py3-none-any.whl
Algorithm Hash digest
SHA256 47db0e1bfd62a452f119d95628d4ab8095a79f6fe80a71fd8a2d8cc34b04a07c
MD5 dec403aace46691ee277898cee221176
BLAKE2b-256 5f2820e6af61bd1f9298c5a99642898cfb1221a7c9d968efd3f5b2b3cc6a71ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page