pyndler

Executable bundler for Windows


Keywords
bundle, deployment, executable, python, pyz, windows
License
MIT
Install
pip install pyndler==0.1.0

Documentation

Python package License

pyndler

Description

Pyndler is a lightweight tool for bundling a pyz file in an exe file. If an executable is deployed, it can also be useful to set an executable icon or additional metadata (product name, company name, versions, ...).

Python projects must be bundled using shiv, zipapp or any other pyz-like packaging tool, before they can be bundled as .exe files using Pyndler.

How does it work?

Pyndler uses the fantastic python distlib launcher mentioned in PEP 397.

First, the pylauncher is copied to the target path. Then the pyz file is appended to the launcher. Afterwards, an additional icon or metadata is set using rcedit - a great project usually used for branding electron project.

Usage

Install the latest pyndler release using pip:

pip install pyndler

Run pyndler:

pyndler <SOURCE>
    -c, --config VALUE:ExistingFile      Path to config file for setting additional metadata
    --gui                                Set to true, if source is a GUI application
    -i, --icon VALUE:ExistingFile        Path to exe icon
    --refresh                            Refresh Windows icon cache after building
    -t, --target VALUE:ExistingFile      Path to output file. If not set, the source path is taken

Example call:

pyndler example.pyz --icon icon.ico --config app.cfg

The metadata config file must be written using INI-like syntax with keys listed here, grouped in a VERSIONINFO section like:

[VERSIONINFO]
<key>=<value>