pyinstaller-versionfile
Create a windows version-file from metadata stored in a simple self-written YAML file or obtained from an installed distribution.
What it is and what it does
pyinstaller-versionfile automates the creation of Windows VERSIONINFO resource files—metadata blocks embedded in .exe files that display version, company, copyright, and product information in file properties. It bridges the gap between Python package metadata and PyInstaller's version-file format, eliminating manual crafting and version-number synchronization.
The package offers both a command-line interface (pyivf-make_version) and a functional Python API. You can source metadata from a YAML configuration file, extract it from an installed Python distribution, or specify values directly in code. It handles version strings flexibly—from hardcoded values to external files to CI build numbers—making it practical for automated build pipelines.
Use it for:
- Embed version metadata in PyInstaller-bundled Windows applications without manual VERSIONINFO file editing.
- Automate version-file generation in CI/CD pipelines by reading version from distribution metadata or environment.
- Maintain synchronized version numbers across Python package and Windows executable properties.
- Generate VERSIONINFO resources from YAML configuration for reproducible, version-controlled builds.
- Extract and repackage metadata from installed editable distributions into Windows version resources.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates Windows VERSIONINFO resource files for PyInstaller from YAML metadata or installed Python package distributions, automating version-file creation for bundled applications.
Yes. If you bundle Python applications for Windows with PyInstaller and need version metadata in the executable, this package eliminates tedious manual VERSIONINFO file creation. Low install friction, active maintenance, permissive license, and no known vulnerabilities make it a straightforward addition to Windows build workflows.
Install
pyinstaller-versionfile on PyPI
pip
pip install pyinstaller-versionfileuv
uv add pyinstaller-versionfilepoetry
poetry add pyinstaller-versionfileInstalling pyinstaller-versionfile
Before you install
Low friction: pure Python wheel with only three lightweight runtime dependencies (Jinja2, PyYAML, packaging). Actively maintained with recent commits and no known vulnerabilities.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for commercial and open-source projects alike.
Quickstart
pip install pyinstaller-versionfile
import pyinstaller_versionfile
pyinstaller_versionfile.create_versionfile(
output_file="versionfile.txt",
version="1.2.3.4",
company_name="My Company",
product_name="My App"
)
Windows-only: the generated VERSIONINFO resource is specific to Windows executables; PyInstaller must be available to use the output file.
Verify before relying
- Whether the package handles all Windows language and character-set codes correctly in practice.
- Performance characteristics when extracting metadata from large or complex distributions.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — Jinja2, PyYAML, packaging |
| Maintenance | actively maintained — 145 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 181,493/month — #10,125 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyinstaller_versionfile-3.1.0-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
auto-py-to-exeProvides a graphical interface to convert…
permissive · top 15,000 on PyPI
pyinstxtractor-ngExtracts Python bytecode and resources from…
copyleft · top 15,000 on PyPI
pyinstallerPyInstaller bundles a Python application and…
copyleft · top 5,000 on PyPI
pyinstaller-hooks-contribProvides community-maintained hooks that extend…
unclear · top 5,000 on PyPI
win32-setctimeSets file creation time on Windows systems via…
permissive · top 5,000 on PyPI
types-pyinstallerProvides type stubs for pyinstaller, enabling…
permissive · top 15,000 on PyPI
hatch-vcsA Hatch plugin that automatically determines…
permissive · top 1,000 on PyPI
csaf-toolGenerates and analyzes CSAF 2.0 documents,…
permissive · top 15,000 on PyPI
py-cpuinfoDetects and reports CPU…
permissive · top 1,000 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI