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

Uploaded Python 3Windows x86-64

pyinstaller_plus-0.1.15-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.15-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.15.tar.gz.

File metadata

  • Download URL: pyinstaller_plus-0.1.15.tar.gz
  • Upload date:
  • Size: 11.0 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.15.tar.gz
Algorithm Hash digest
SHA256 239c96e2b1a6864050e968e7595b764a4ecdfe6a6e6fb98ff247c4ddc2a06dac
MD5 be3a3186872fe73c216388c08d9b59f5
BLAKE2b-256 944d5ec57d17b8ef03b10cacc5dc31a47fd7c88cde89749fd994f7d9fbb04b2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.15-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 2b1cc4131bff2130df1bdf8c3fa2ebc5110a31f1f47ea91071493daa2e4c8512
MD5 8ede421f3c7565729ca727746b0d7159
BLAKE2b-256 84cc92fc136f2724373a95efdb2a448e40bac12fb5c4fbce8eb69bfa6f2e80dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93bbfae29ec4927dac9e0812c8c77067173ea710a244b3b174b991665c7e8f13
MD5 49fc1fcfbaba16b375e199465569176c
BLAKE2b-256 f4428a9a4ba0a8cedb4372086e1a1d3d974366f092fedb779840f8ad74992756

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller_plus-0.1.15-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 856de52c408e26ff48b1b6bbdc23c01f4919285587b6f64e689929e4e6f0e160
MD5 484cb5f1c7ca2d9b71049f981a459d7f
BLAKE2b-256 534d8c3e929374d730ec51c0caa90aa7f3a9e9f98954eb90146c544214aa19fe

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