PyInstaller wrapper that runs DistroMate packaging/publish after build
Project description
pyinstaller-plus
pyinstaller-plus is a PyInstaller-compatible wrapper that keeps your existing
PyInstaller workflow and then runs DistroMate packaging or publishing, with a
built-in login shortcut.
This README focuses on end-user packaging usage.
Features
- Compatible with standard PyInstaller arguments
- Supports
loginmode (distromate login) - Runs
distromate packageafter a successful PyInstaller build - Supports publish mode (
distromate publish) - Works on Windows, macOS, and Linux
- Depends on the
distromatePython package instead of bundling its own CLI - Supports
--appidforpackage/publish - Uses PyInstaller args and
.specmetadata as defaults, then overlaysdistromate.yaml
Install
pip install pyinstaller-plus
distromate will be installed automatically as a dependency.
Quick Start
- Log in to DistroMate:
pyinstaller-plus login
-
Optional: create a
distromate.yaml(ordistromate.yml) in your project root. If omitted,pyinstaller-plusstill derives package metadata from your PyInstaller args or.specfile. -
Build and package:
pyinstaller-plus package -v 1.2.3 --appid com.example.app your.spec
- Build and publish:
pyinstaller-plus publish -v 1.2.3 --appid com.example.app your.spec
Use --distromate-config ./config/release.yaml if your overlay file is not in the project root.
CLI Behavior
pyinstaller-plus executes one of these flows:
-
login: resolve DistroMate CLI from the Python dependency orPATH, then rundistromate login -
package/publish:- Run
python -m PyInstaller ... - Resolve DistroMate CLI from:
- installed
distromatePython package PATH
- installed
- Resolve release version from:
package -v/package --versionpublish -v/publish --versionpyproject.toml->project.version
- Resolve publish app id from:
package --appidpublish --appid
- Derive adapter defaults from PyInstaller args and
.specmetadata:productNamepackage.namepackage.executablepackage.targetpackage.icon(from--iconorEXE(icon=...))package.description(from--version-fileorEXE(version=...)->FileDescription)package.publisher(from--version-fileorEXE(version=...)->CompanyName)
- Overlay
distromate.yaml/distromate.ymlon top of those defaults - Pipe the final config to one of:
distromate --config - package -v <version>distromate --config - publish -v <version>
- Run
Commands
login: rundistromate loginpackage -v <version> [--appid <appid>] [--distromate-config <path>]: build with PyInstaller, then rundistromate packagepublish -v <version> [--appid <appid>] [--distromate-config <path>]: build with PyInstaller, then rundistromate publish
Use -- when you need to pass PyInstaller's own --version through the wrapper.
Example distromate.yml
productName: MyApp
publish:
appId: your_appid
package:
name: myapp
description: My desktop app
executable: dist/myapp.exe
target: dist
publisher: MyApp Publisher
language: english
files:
- "**/*"
- "!**/.git/**"
- "!**/*.log"
- "!temp/**"
- "!**/__pycache__/**"
- "!**/*.pyc"
preservePaths:
- config
- data
package.files uses electron-builder-compatible glob patterns.
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 pyinstaller_plus-0.1.26.tar.gz.
File metadata
- Download URL: pyinstaller_plus-0.1.26.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0137051f43a4a212ee590e56d2a2bb34daa1f6443a40b2fbd92aebc3e81823f2
|
|
| MD5 |
06c5072d720f436e64b87a4e0f514502
|
|
| BLAKE2b-256 |
c8edf267f869693329980a58012a5a1c1eced4b90f8980e7b7e8ee2315bc585c
|
File details
Details for the file pyinstaller_plus-0.1.26-py3-none-any.whl.
File metadata
- Download URL: pyinstaller_plus-0.1.26-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1f3088d69bb5bf0c4c8200b1522a28ab843694c18dd9ce0a5230cebb4d00864
|
|
| MD5 |
9cadbe1c9cbb6a8eeb0cf37468be05ec
|
|
| BLAKE2b-256 |
a91fae1a16314771421afb13f5ad179bcc8c897d07891a9080fcce2552f2a8c9
|