Quickly make a windows executable with a system tray icon and an configurable (read empty) PyQT5 window
Project description
Programmify
Quickly make a windows executable with a system tray icon and an configurable (read empty) PyQT5 window
Task Manager
Yes! You can use your own icon
Features
- Use your own icon
- System tray icon (in task bar)
- Window title (in window title bar)
- Window icon (in window title bar)
- Executable name (in File Explorer & Task Manager)
- Executable file icon (in File Explorer & Task Manager)
- PyQT Widget OR PyQT Main Window
- executable with icon on desktop
- can be pinned to taskbar
Support
- Windows
- Linux
- Mac
Quickstart
-
Make a new python project folder, let's call it
myprogram
-
Make a virtual environment if you want, or just use your system python
-
Install
programmify
pip install programmify
-
Make a new file in
myprogram
, let's call itmyapp.py
-
import and use either
ProgrammifyWidget
orProgrammifyMainWindow
fromprogrammify
in your script# myprogram/myapp.py from PyQt5 import QtWidgets from programmify import ProgrammifyWidget class MyWidget(ProgrammifyWidget): def setupUI(self): # Create a layout layout = QtWidgets.QVBoxLayout(self) # Add a label label = QtWidgets.QLabel("Hello, Programmify!") layout.addWidget(label) # Add a button button = QtWidgets.QPushButton("Click Me") button.clicked.connect(self.on_button_clicked) # Connect to a method to handle the click event layout.addWidget(button) # Set the layout on the QWidget self.setLayout(layout) def on_button_clicked(self): QtWidgets.QMessageBox.information(self, "Action", "Button was clicked!") if __name__ == '__main__': MyWidget.run()
-
Build the executable
From command prompt in the project directory:
(venv) C:\Users\user\myprogram>
programmify --desktop
NOTES:
- If you have ONLY one .py file in the current working directory you don't need to specify the file to build, otherwise you may need to specify
programmify myapp.py
- include a
favicon.ico
in your current working directory to use as the icon for the program --desktop
will copy the executable to your desktop
- Run
An executable should have been created at
myprogram/myapp.exe
and also copied to your desktop. Double click to run!
Usage:
programmify myapp.py --name testprogram --icon testicon.ico
Advanced usage:
programmify --help
to see all options- add
--show_cmd
to show thepyinstaller
command that will be run instead of running it (useful for debugging)
>programmify --help
usage: programmify [-h] [--name NAME] [--dst DST] [--icon ICON] [--mode MODE] [--nocleanup] [--show_cmd] [--cmd CMD] [--hidden_imports [HIDDEN_IMPORTS ...]]
[--extra_files [EXTRA_FILES ...]] [--debug] [--args ...] [--desktop] [--version VERSION]
file
positional arguments:
file File to build. If not specified, will try ...
1. main.py in current working directory if found
2. __main__.py
3. the only .py file in the current working directory if only one is found (excluding __init__.py)
4. if there is a src directory, will search in src and its subdirectories to find a single option
5. if the above fails, will raise an error and you will need to specify the file to build.
options:
-h, --help show this help message and exit
--name NAME Program name. If not specified, the name of the either the file or its parent directory will be used.
--dst DST Destination directory for the built program
--icon ICON Path to a 16x16 .ico file. If not specified, will try to find favicon.ico or any other .ico or .png in the current working directory.
--mode MODE Program mode: window or widget
--nocleanup Cleanup build files
--show_cmd Show the command that will be run instead of running it
--cmd CMD Expert level: command to run instead of pyinstaller
--hidden_imports [HIDDEN_IMPORTS ...]
Hidden imports
--extra_files [EXTRA_FILES ...]
Extra files to include
--debug Does not run in windowed mode, instead shows the terminal and stdout
--args ... Additional arguments to pass to pyinstaller
--desktop Copy the file to the desktop
--version VERSION Adds the version string to the end of the program name. e.g. --version 1 => my_program v1
Other Installed Scripts
png2ico
to convert a.png
to a.ico
file- see
png2ico --help
for usage
- see
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
Built Distribution
Hashes for programmify-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce576c44f98ed0489be6336522986adb08520eb74cae05fdd5eae50a2ab0dba1 |
|
MD5 | 5f2f5fe7057575946abe4f8debce608e |
|
BLAKE2b-256 | a5af4a5fbc7dc9be3381422dcc479480e69f7acc2a6e7bd93a82609495048ece |