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
  • 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:

F1 - insert print statement for variable where cursor is located CTRL+BACKSPACE - delete line CTRL+ALT+E - open windows explorer where current file is located F5 - run pyflakes on current python source CTRL+0 - reset font size F10 - insert current date/day F7 - build (runs maketool-run on current script via the build system) CTRL+ALT+U - maketool-refscan - scan for unused/orphan files in the project

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 .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
Copyright 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.6.2.tar.gz (14.2 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.6.2-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for maketool-0.6.2.tar.gz
Algorithm Hash digest
SHA256 ba3a2c107f8a8c068ce73ab6bb65595bb2007335e0f811a0c321a326c381e7f9
MD5 07bfa47c30bacc78fe33bdf69188057e
BLAKE2b-256 c635b7a5d082909c947a16502d07563c536cb2cff2cef625aea2213888cc6fb9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: maketool-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 14.8 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.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fb0f1ad5cfc5496c589ddde80b624fab6fb3b17e144d3c5a3eaa46f70e6f409d
MD5 1e07a9a2956e2ad195239b3f9e35c58e
BLAKE2b-256 e69587d2e3eca5c549eb1973c9838bef9f58a9f940c3cd38cec34f4b13760ce1

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