Skip to main content

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. This README focuses on end-user packaging usage.

Features

  • Compatible with standard PyInstaller arguments
  • Runs distromate package after a successful PyInstaller build
  • Supports publish mode (distromate publish)
  • Works on Windows, macOS, and Linux
  • Auto-detects DistroMate CLI and falls back to installer scripts when needed
  • Auto-creates distromate.yaml when missing and auto-syncs package fields

Install

pip install pyinstaller-plus

Quick Start

  1. Log in to DistroMate:
distromate login
  1. Optional: create a distromate.yaml (or distromate.yml) in your project root. If missing, pyinstaller-plus will create one with defaults.

  2. Build and package:

pyinstaller-plus --dm-version 1.2.3 your.spec
  1. Build and publish:
pyinstaller-plus --publish --dm-version 1.2.3 your.spec

CLI Behavior

pyinstaller-plus executes this flow:

  1. Run python -m PyInstaller ...
  2. Resolve DistroMate CLI from:
    • PATH
    • bundled binary in this package
    • OS-specific installer fallback
  3. Resolve release version from:
    • --dm-version
    • pyproject.toml -> project.version
  4. Ensure and auto-update distromate.yaml/distromate.yml from PyInstaller args/spec:
    • top-level name (only auto-fill when missing)
    • package.name
    • package.executable
    • package.target
    • package.icon (from --icon or EXE(icon=...))
    • package.description (from --version-file or EXE(version=...) -> FileDescription)
    • package.publisher (from --version-file or EXE(version=...) -> CompanyName)
  5. Run one of:
    • distromate package -v <version>
    • distromate publish -v <version>

Extra Arguments

  • --publish / --dm-publish: publish mode
  • -p: publish shorthand when used as a standalone flag
  • --dm-version <version>: release version passed to DistroMate

Note: -p <path> is still treated as the original PyInstaller -p option. Use --publish if you want unambiguous publish mode.

Example distromate.yml

appid: your_appid
name: MyApp
description: My desktop app

package:
  name: myapp
  executable: dist/myapp.exe
  target: dist
  publisher: MyApp Publisher
  language: english

preservePaths:
  - config
  - data

ignores:
  - "*.log"
  - temp/
  - "__pycache__/"
  - "*.pyc"

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

pyinstaller_plus-0.1.14.tar.gz (7.7 MB view details)

Uploaded Source

Built Distributions

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

pyinstaller_plus-0.1.14-py3-none-win_amd64.whl (7.8 MB view details)

Uploaded Python 3Windows x86-64

pyinstaller_plus-0.1.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pyinstaller_plus-0.1.14-py3-none-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file pyinstaller_plus-0.1.14.tar.gz.

File metadata

  • Download URL: pyinstaller_plus-0.1.14.tar.gz
  • Upload date:
  • Size: 7.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for pyinstaller_plus-0.1.14.tar.gz
Algorithm Hash digest
SHA256 147ecd3435e6216238af91d01a8a54109182b0356509ec67c8950db6af2e1f8b
MD5 912c7c6214440b4131c14abfb71370cf
BLAKE2b-256 95c86ce717afd41b2ae3f63dfbbeb0b43fb42f2b3d41380ac47f308af6e7399c

See more details on using hashes here.

File details

Details for the file pyinstaller_plus-0.1.14-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.14-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 74df8c7ebf480094f09a69469d485cad8d1908ff3a041d76a01da0b9d96b5592
MD5 52f0bcb0dfa3a16f8164e781a2132dbf
BLAKE2b-256 35d38bcd34fa61ca3d519dbe102a3bf98a8b62f1d32198796a3b8ef90a33e4be

See more details on using hashes here.

File details

Details for the file pyinstaller_plus-0.1.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51225c17332ba05c297eb4281baccf71ae21d297d4ee99c6657bdfcdcf70516d
MD5 36cf7f3ac97511e6f87718f0dfbd8d8c
BLAKE2b-256 637853c102471b544c5909cd4e22ac025d80ea5ab09a84ae04adee0be1b899fa

See more details on using hashes here.

File details

Details for the file pyinstaller_plus-0.1.14-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.14-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3ec12aca38b98027471e875c5839fd291eb30544e3a089280a36d3b9557ea23
MD5 1e5567037c0d15d5c4b49b3651844b67
BLAKE2b-256 3529d13ccbb8058b3a165ff0f524b272721a94662c0963586bb8ad847031d98b

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