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
.uiand.qrcfiles - Simplifies PyInstaller builds
- Packages your application with minimal commands
- Automates repetitive tasks like building and cleanup
- Integrates easily with
.batscripts 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/anddist/folders .specfiles in the current directory
Run it like this:
maketool-clean
3. compile
Builds your python app into an executable using PyInstaller.
- Compiles
.uiand.qrcand image resources - Generates a PyInstaller
.specfile - Runs PyInstaller with the provided options
- Updates version if exists in python file with --version value if provided
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
--version VERSION program version (otherwise use __version__ in py source)
4. sublime
Update local Sublime Text 4 installation with these useful shortcuts:
CTRL+BACKSPACE - delete line CTRL+ALT+E - open windows explorer where current file is located CTRL+0 - reset font size F1 - insert print statement for variable where cursor is located F5 - run pyflakes on current python source F6 - maketool-refscan - scan for unused/orphan files in the project F7 - build (runs maketool-run on current script via the build system) F10 - insert current date/day
usage: maketool-sublime [-h] --path PATH
parameters:
-h, --help show this help message and exit
--path PATH sublime text - data/package/user path
5. refscan
Scans the current folder (and subfolders) and lists candidate unused/orphan files by doing a fast string reference scan.
This is especially useful for catching forgotten assets like .ui, .qss, .ico, images, etc.
Default behavior is unused only:
maketool-refscan
Show both used and unused:
maketool-refscan --show-used
Write a CSV report:
maketool-refscan --csv refscan-report.csv
Notes:
- This is heuristic (string-based). It may miss dynamically constructed paths/imports and may produce false positives.
- For best results, run it from your project root.
Features
- Simple command-line interface for
.bator.shworkflows - Converts all
.uiand.qrcfiles recursively - Cleans up Python build artifacts
- Packages apps using PyInstaller
- Supports custom
.icoicons - Supports optional resource embedding
Requirements
Installation
Install maketool helper from PyPI with following command:
pip install maketool
License
MIT License
Copyright 2025 Alan Lilly
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 maketool-0.6.22.tar.gz.
File metadata
- Download URL: maketool-0.6.22.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e98708142900a9f58392e460368c8afe0abc317d1687212e3476002cbd12d182
|
|
| MD5 |
6f984e0b85ce44fa097b912d64cb2d94
|
|
| BLAKE2b-256 |
e3d3e39b49d5138a0931ace022445ac6de3b490d6d693f47d71207aa064d08ea
|
File details
Details for the file maketool-0.6.22-py3-none-any.whl.
File metadata
- Download URL: maketool-0.6.22-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c77e29729b561be1e295cacc0491185a1dfd891f15e873bb8a41dfa8e5539877
|
|
| MD5 |
20a9060fc9a858a894b423d71048424e
|
|
| BLAKE2b-256 |
4f0a8491a83c35b0859b9988ebc6e43a50793c62f63ad83e38cf8f188f193650
|