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.13.tar.gz (11.1 kB 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.13-py3-none-win_amd64.whl (15.3 MB view details)

Uploaded Python 3Windows x86-64

pyinstaller_plus-0.1.13-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.13-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.13.tar.gz.

File metadata

  • Download URL: pyinstaller_plus-0.1.13.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyinstaller_plus-0.1.13.tar.gz
Algorithm Hash digest
SHA256 ff37c47ba2aa88830d0300d2f461d403e9126fba21750c39da8a4502450bc346
MD5 0d18d5449fdb2754fb095a2cb3bae7a1
BLAKE2b-256 ce6f850902ef1d49392bd520a7c655cc16fc349c1973c2eed3c64072b3b396f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.13-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c26497ce9971da21506ced0bd66f5a0c60271446112966bc0b4a1e15d285eb6b
MD5 3fa821b12acbfa11b7c3159e8b747092
BLAKE2b-256 8b7954eff848460ab2af1ad43c5196aedd20fc224ed8e3f1b00986010d43d46c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 729b276e9513b4831a6e9352ff04bc8db1475c35a81c5805582f37ba8feee156
MD5 4a9a8062f737a9f07d0d631c4733df7c
BLAKE2b-256 e4336f51737ffa992fbe5038cc2934fad79778c0601c9b1ead8bd5e919ccd9da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.13-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31a46a2dc6c20c3e103d260f4214890964082c457a109a9ec91f1da37cffb1c9
MD5 18b68d652ea1d09a3ba646c76c5ca2bd
BLAKE2b-256 d29a054e245275f07b63b86c8a32c2caed3505000181cf57e37cc70d66fe2c24

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