Metadata-Version: 2.4
Name: versioninfo_helper
Version: 1.0.0
Summary: VersionInfo helper script for PyInstaller
Author-email: ReggX <dev@reggx.eu>
License-Expression: MIT
Project-URL: Homepage, https://github.com/ReggX/versioninfo_helper
Project-URL: Bug Reports, https://github.com/ReggX/versioninfo_helper/issues
Project-URL: Source, https://github.com/ReggX/versioninfo_helper
Keywords: PyInstaller,VersionInfo,development
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: Microsoft :: Windows
Classifier: Environment :: Win32 (MS Windows)
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: pyinstaller>=5; python_version < "3.12"
Requires-Dist: pyinstaller>=5.5; python_version >= "3.11"
Requires-Dist: pyinstaller>=5.13; python_version >= "3.12"
Requires-Dist: typing-extensions>=4.13.2; python_version < "3.15"
Dynamic: license-file

# VersionInfo helper script for PyInstaller

This repository contains helper scripts to dynamically create VersionInfo objects that can be embedded in .exe files created by PyInstaller.

This project was created because existing solutions to embed version information inside executables relied on creating artifact files that get read (and eval-ed) by PyInstaller during the build process.
Dynamically creating such files essentially boiled down to inserting data in a string template, with no guides to the user if their entered data is valid or not.
A bit of exploration of PyInstaller's source code and official Microsoft documentation revealed that it should be possible to
provide PyInstaller with necessary data straight from .spec files without file-read-and-eval step.
This approach has the added bonus of being type hint compatible, offering rich auto-complete in supported IDEs.

## Installation

`pip install versioninfo_helper`

## Usage

See [example_simple.onefile.spec](example_simple.onefile.spec) and [example_dynamic.onefile.spec](example_dynamic.onefile.spec) for examples on how to integrate VersionInfo creation directly into PyInstaller .spec files.
