Skip to main content

Convert your PySimpleGUI or other Python program into binary for easy distribution. GUI uses PySimpleGUI. Back-end compile performed using pyinstaller (so far... others are being added)

Project description

Python GUIs for Humans

psgcompiler

A PySimpleGUI Application

"Compile" your Python programs into an EXE for Windows, an APP for Mac, and a binary for Linux

Installation

Old-school Straight Pip

pip install psgcompiler

pip via python -m pip the python recommended way

If python is your command

python -m pip install psgcompiler

If python3 is your command

python3 -m pip install psgcompiler

Usage

Open a command window and type:

psgcompiler

PyInstaller Back-end with a PySimpleGUI Front-end

The plan for psgcompiler is to provide a GUI interface for a number of the tools available to convert a Python program into a binary executable. PyInstaller was chosen as the first back-end tool that does the heavy-lifting of converting your code into a binary executable. The next one being added is cx_freeze.

psgcompiler collects the options that are assembled into the command that can then be run for you by launching a subprocess. You will see the command being built as you add or remove items using the GUI. You can run PyInstaller manually using the options shown in the "Command" box. Type pyinstaller on the command line and paste the text you see under "Command" in the Home tab of the psgcompiler program.

PyInstaller transforms your Python project into an executable that you can distribute to friends, family members, colleagues, the public, other developers, ... Anyone that does not have Python installed on their machine will be able to run your program after you've turned it into a binary executable.

PySimpleGUI users in particular will greatly benefit from psgcompiler as you'll be able to distribute "Windows Programs". Most likely no one will know you're using Python. On Windows, you can create a single EXE file. One-file is the default setting. After converting, you'll be left with a single EXE file.

A Multitude Of Options

PyInstaller has a sh*t-ton of options! Unlike the primitive EXE Maker that the PySimpleGUI project created, the psgcompiler exposes all of the options in an easy to use way.

Simple Interface, Complex Settings

While psgcompiler makes it easy to specify the many options available for PyInstaller, it doesn't remove the complexity that comes with using PyInstaller.

Please refer to the PyInstaller documentation to better understand the available options. It can be tricky to convert some programs, particularly if you're using other Python packages in addition to PySimpleGUI.

All Python Programs Welcomed...

Your Python program doesn't have to use PySimpleGUI in order to use the psgcompiler tool. PySimpleGUI is being used to give you a GUI front-end to PyInstaller. There is no requirement that your program use PySimpleGUI.

Troubleshooting PyInstaller Problems

When it comes to PyInstaller use, I'm a user of PyInstaller, just as you are. The PySimpleGUI project isn't populated with PyInstaller experts. You'll need to use your programming prowess to find answers to problems you may encounter using PyInstaller.

We're making it easy for you to run PyInstaller, and soon additional similar utilities, but that doesn't mean it's going to be easy overall.

The PyInstaller documentation is well-written and can be found here:
https://pyinstaller.readthedocs.io/en/stable/

A Simple EXE

If your program is relatively simple, then you only need to supply the name of your Python file, and an optional icon file.

Here is an example session showing only the .pyw file and the .ico file being supplied.

Additional Back-ends

Currently in the works is support for additional back-ends. cx_freeze is up next.

Create a Shortcut To This Program

If you're a Windows user, then use the psgshortcut application to make a shortcut to this program so that you can then put on your desktop or pin to your taskbar (or any other use that stops the need to type psgcompiler ever again).

Release Notes

1.5.1 17-Dec-2021

  • Fixed FileBrowse target problem loggined in Issue 1 on GitHub
  • Added PyInstaller as a required package to setup.py on PyPI

1.5.0 14-Nov-2021

  • Added PyInstaller Help link just above the "Convert" button

1.4.0 14-Nov-2021

  • Debug counter added to event loop
  • Updated readme for PyPI

1.3.0 13-Nov-2021

  • Version number of psgcompiler, PyInstaller both added to right-click-menu and to version popup

1.2.0 13-Nov-2021

  • Added version number in the .py file
  • Added version number to right click menu
  • Added local copy of version for debugging
  • Posted to PyPI

1.0.0 13-Nov-2021

  • Initial release, post to PyPI and GitHub

License

Licensed under an LGPL3 License
Copyright 2021

This PySimpleGUI Application Was Designed and Written By

Tanay Findley as part of The PySimpleGUI Project

Contributing

Like the PySimpleGUI project, this project is currently licensed under an open-source license, the project itself is structured like a proprietary product. Pull Requests are not accepted.

Copyright

Copyright 2021 PySimpleGUI

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

psgcompiler-1.5.1.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

psgcompiler-1.5.1-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file psgcompiler-1.5.1.tar.gz.

File metadata

  • Download URL: psgcompiler-1.5.1.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.4.2 requests/2.26.0 requests-toolbelt/0.8.0 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for psgcompiler-1.5.1.tar.gz
Algorithm Hash digest
SHA256 24170439f4b447846f4a5f7c8475803fa0410632e1694c89a3aef815155155a2
MD5 0fda3caa1dea140e72635d2ac4e00376
BLAKE2b-256 d0d51155b156c81f11a74c28e91ba1dd62cc1aae272768203f0f93b552020f10

See more details on using hashes here.

File details

Details for the file psgcompiler-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: psgcompiler-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.4.2 requests/2.26.0 requests-toolbelt/0.8.0 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for psgcompiler-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08cee9992d0329e304c9c2ddad0a6395a0968640dbdcfcf9fb55ccec87a5be44
MD5 e1adba2eaa7c9a68a835dd0f644db3e4
BLAKE2b-256 4e73c82edc6d7e01d2e31fe460fb94283f471eafa2becce52e226b2b5ec17da3

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