From 9511e79f115556bd2bfae88bcf9fdf56dd368bb6 Mon Sep 17 00:00:00 2001 From: willtheorangeguy <18339050+willtheorangeguy@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:00:12 -0600 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20rewrite=20README=20and=20docs/=20?= =?UTF-8?q?=E2=80=94=20records=20that=20the=20program=20cannot=20start?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01TtaJBmFDK3GcSyuhSuZ84R --- README.md | 154 ++++++++++------------------------ docs/CUSTOMIZATION.md | 56 ------------- docs/README.md | 63 ++++++++++++-- docs/TESTING.md | 100 ---------------------- docs/USAGE.md | 26 ------ docs/architecture.md | 69 +++++++++++++++ docs/configuration.md | 80 ++++++++++++++++++ docs/development.md | 77 +++++++++++++++++ docs/faq.md | 64 ++++++++++++++ docs/images/logo.png | Bin 18691 -> 0 bytes docs/images/welcome.png | Bin 179639 -> 0 bytes docs/installation.md | 76 +++++++++++++++++ docs/internal/known-issues.md | 95 +++++++++++++++++++++ docs/quickstart.md | 70 ++++++++++++++++ docs/roadmap.md | 54 ++++++++++++ docs/testing.md | 56 +++++++++++++ docs/troubleshooting.md | 67 +++++++++++++++ 17 files changed, 806 insertions(+), 301 deletions(-) delete mode 100644 docs/CUSTOMIZATION.md delete mode 100644 docs/TESTING.md delete mode 100644 docs/USAGE.md create mode 100644 docs/architecture.md create mode 100644 docs/configuration.md create mode 100644 docs/development.md create mode 100644 docs/faq.md delete mode 100644 docs/images/logo.png delete mode 100644 docs/images/welcome.png create mode 100644 docs/installation.md create mode 100644 docs/internal/known-issues.md create mode 100644 docs/quickstart.md create mode 100644 docs/roadmap.md create mode 100644 docs/testing.md create mode 100644 docs/troubleshooting.md diff --git a/README.md b/README.md index 1d53cbd..dcc4f7f 100644 --- a/README.md +++ b/README.md @@ -1,153 +1,93 @@

- ProgramVer + ProgramVer
ProgramVer

-

A Python version of Microsoft's 'winver', built to be customizable, and to show copyright info and licenses.

+

A Python version of Microsoft's winver — a copyright and licence window you drop into your own program.

- PyPI Build State - Pylint State - Tests State - CodeQL State - GitHub Version - GitHub Issues - GitHub Pull Requests - - Discord Server ID - - Downloads - - GitHub Languages

+ StatusKey Features • - Download • - How To Use • + Installation • + Usage • + DocumentationSupportContributing • - Changelog • - Credits & Contributors + Credits • + License

- +
- Main image + ProgramVer window
-## Key Features - -* Display a version window. -* Can be called and imported as a function. -* Links to License text. -* Links to EULA text. -* Includes logo and Python Powered images. -* Cross platform. +## Status -## Download +**Currently broken as shipped.** `ProgramVer()` loads `imgs/dfdlogo.gif`, which is not in the repository, so the window fails before it appears. The two buttons read `LICENSE.txt` and `EULA.txt`, neither of which exists either. -You can **[download](https://github.com/willtheorangeguy/ProgramVer/releases/latest) the source code** to run the scripts from the command line on Windows, macOS and Linux. **This will require [Python](https://www.python.org/downloads/).** +The test suite passes — it mocks every file access and every widget — so CI is green and the program still cannot start. Details and suggested fixes are in [`docs/internal/known-issues.md`](docs/internal/known-issues.md). -You can **[download](https://github.com/willtheorangeguy/ProgramVer/releases/latest) the latest executable version** of ProgramVer for Windows. **This does not require Python.** +The template is sound and the customisation points are real; it needs its assets back. -## How To Use - -To run the application, you can use [Git and the Python Interpreter](https://github.com/willtheorangeguy/ProgramVer/main/README.md#git), which allows you to clone and run the application, or [`pip`](https://github.com/willtheorangeguy/ProgramVer/main/README.md#pip) to create a command line application. +## Key Features -### Git +- A `winver`-style window: logo, program name and version, trademark notice, licence blurb. +- **Open License** and **Open EULA** buttons that display the full text in their own windows. +- Importable as a function, so you can wire it to your own program's About menu. +- Python-Powered badge included. +- Pure standard library — Tkinter only. +- Cross-platform. -To clone and run this application, you'll need [Git](https://git-scm.com/downloads) and [Python](https://www.python.org/downloads/) installed on your computer. If you would rather not use Git, you can just download the script from GitHub above. From your command line: +## Installation ```bash -# Clone this repository -$ git clone https://github.com/willtheorangeguy/ProgramVer - -# Go into the repository -$ cd ProgramVer - -# Run the CLI -$ python main.py +git clone https://github.com/willtheorangeguy/ProgramVer +cd ProgramVer +python main.py ``` -### `pip` +See [`docs/installation.md`](docs/installation.md), including what you need to supply before it runs. -You can install the program from the [Python Package Index](https://pypi.org/project/programver/) through `pip`. - -```bash -# Install via pip -$ pip install programver +## Usage -# Run the CLI -$ programver +```python +from main import ProgramVer +ProgramVer() ``` -However, you may want to add the version window to your program. To do so, follow these steps: +Every string in the window is meant to be edited for your project — see [`docs/configuration.md`](docs/configuration.md). -1. Download the latest source code release from [GitHub Releases](https://github.com/willtheorangeguy/ProgramVer/releases/latest) page. -2. Extract the source code files using a program like [7-Zip](https://www.7-zip.org/). -3. Copy the `ProgramVer.py` file to your project's main directory. -4. Import ProgramVer by adding `from ProgramVer import *` to your Python `import` statements. -5. Call ProgramVer through the `ProgramVer()` function. -6. Enjoy your new version window! +## Documentation -## Support - -Customization for ProgramVer can be found in the [`CUSTOMIZATION`](https://github.com/willtheorangeguy/ProgramVer/blob/master/docs/CUSTOMIZATION.md) doc. More documentation is available in the **[Documentation](https://github.com/willtheorangeguy/ProgramVer/tree/master/docs)** and on the **[Wiki](https://github.com/willtheorangeguy/ProgramVer/wiki)**. If more support is required, please open a **[GitHub Discussion](https://github.com/willtheorangeguy/ProgramVer/discussions)** or join our **[Discord](https://discord.gg/x3G8adwVUe)**. - -## Testing - -ProgramVer includes a comprehensive test suite to ensure code quality and reliability. The test suite achieves 100% code coverage for the main module. +Full documentation lives in [`docs/`](docs/README.md): +[Quickstart](docs/quickstart.md) · [Installation](docs/installation.md) · [Configuration](docs/configuration.md) · [Architecture](docs/architecture.md) · [Development](docs/development.md) · [Testing](docs/testing.md) · [FAQ](docs/faq.md) · [Troubleshooting](docs/troubleshooting.md) · [Roadmap](docs/roadmap.md) -### Running Tests - -To run the test suite locally: - -```bash -# Install test dependencies -pip install -r requirements.txt - -# Run tests (Linux) -xvfb-run -a python -m pytest tests/ -v - -# Run tests (Windows/macOS) -python -m pytest tests/ -v - -# Run tests with coverage -python -m pytest tests/ --cov=main --cov-report=term-missing -``` - -For more information about testing, see the [tests README](tests/README.md). - -### Continuous Integration - -Tests are automatically run on GitHub Actions for every push and pull request across: +## Support -- Operating Systems: Ubuntu, Windows, and macOS -- Python Versions: 3.9, 3.10, 3.11, and 3.12 +Open a [GitHub Discussion](https://github.com/willtheorangeguy/ProgramVer/discussions), file an [issue](https://github.com/willtheorangeguy/ProgramVer/issues/new/choose), or join the [Discord](https://discord.gg/x3G8adwVUe). ## Contributing Please contribute using [GitHub Flow](https://guides.github.com/introduction/flow). Create a branch, add commits, and [open a pull request](https://github.com/willtheorangeguy/ProgramVer/compare). -Please read [`CONTRIBUTING`](https://github.com/willtheorangeguy/.github/blob/main/CONTRIBUTING.md) for details on our [`CODE OF CONDUCT`](https://github.com/willtheorangeguy/.github/blob/main/CODE_OF_CONDUCT.md), and the process for submitting pull requests to us. - -## Changelog - -See the [`CHANGELOG`](CHANGELOG.md) file for details. +See the org-wide [Contributing Guide](https://github.com/willtheorangeguy/.github/blob/main/CONTRIBUTING.md) and [Code of Conduct](https://github.com/willtheorangeguy/.github/blob/main/CODE_OF_CONDUCT.md). ## Credits @@ -158,30 +98,24 @@ This software uses the following open source packages, projects, services or web GitHub PSF - Windows + PyInstaller GitHub Python Software Foundation - Windows + PyInstaller Web - Plans Web - Donate - Web + Web - Donate -## Contributors - -* [@willtheorangeguy](https://github.com/willtheorangeguy) - Sponsor on [PayPal](https://paypal.me/wvdg44?country.x=CA&locale.x=en_US) - -## You may also like... - -* [PyWorkout](https://github.com/willtheorangeguy/PyWorkout) - A minimal CLI to keep you inspired during your workout! -* [PyAvatar](https://github.com/willtheorangeguy/PyAvatar) - Easily display all of your creative avatars to keep them consistent across websites. -* [Periodic Table Info](https://github.com/willtheorangeguy/Periodic-Table-Info) - Print all the elements in the Periodic Table of the Elements, with an interactive prompt to learn more. +Sponsor [@willtheorangeguy](https://github.com/willtheorangeguy) on [PayPal](https://paypal.me/wvdg44?country.x=CA&locale.x=en_US). ## License -This project is licensed under the [MIT License](https://mit-license.org/) - see the [`LICENSE`](LICENSE.md) file for details. +MIT — see [`LICENSE.md`](LICENSE.md). + +> Note the window itself currently displays a GPL blurb and a different copyright holder. That text is placeholder content meant to be replaced per project, but it does not match this repository's own licence — see [`docs/internal/known-issues.md`](docs/internal/known-issues.md). diff --git a/docs/CUSTOMIZATION.md b/docs/CUSTOMIZATION.md deleted file mode 100644 index a768e47..0000000 --- a/docs/CUSTOMIZATION.md +++ /dev/null @@ -1,56 +0,0 @@ -# ProgramVer Customization - -ProgramVer is designed to be highly customizable, in order to make the version window suit each individual project. The license and EULA texts can be changed, as well as the program name, version number and more. - -All of these instructions require [a text editor](https://code.visualstudio.com/) to be installed. - -## Set the License File and Text - -The version window can be configured to use a custom license file and text. - -1. _Line 11_: Replace the `'LICENSE.txt'` with the name (or path) to the license file. -2. _Line 40_: Replace the text in between the single quotes (`'...'`) with the trademark/license blurb. For example, here is the one from `winver.exe`: - -```text -© Microsoft Corporation. All rights reserved. -``` - -3. _Line 41_: Replace the text in between the triple double quotes (`"""..."""`) with the license blurb, if your license includes this. For example, the GNU Public License includes a section of text that should be included with each program: - -```text - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -``` - -## Set the EULA File - -The version window can be configured to use a custom EULA file. - -1. _Line 21_: Replace the `'EULA.txt'` with the name (or path) to the End User License Agreement file. - -## Set the Window Title - -The version window can be configured to have a custom title. - -1. _Line 33_: Replace the `'Copyright & Version Info for ProgramVer'` with the name of the project ProgramVer is being added to. -2. _Line 39_: Replace the `'ProgramVer \n Version: 1.8.0 (Build 1080)'` with the program name and the version number. - -## Set the Images - -The version window can be configured to show a company logo and the Python Powered logo. - -1. _Line 35_: Replace the `'dfdlogo.gif'` with the name (or path) of the company logo image. -2. _Line 36_: Replace the `'pythonpoweredlengthgif.gif'` with the name (or path) to another Python Powered image, or any other image that fits. diff --git a/docs/README.md b/docs/README.md index 9c2185a..229da3e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,12 +1,57 @@ -# ProgramVer Documentation +# ProgramVer — Documentation -This folder includes all of the docs for ProgramVer. More can be found on the [wiki](https://github.com/willtheorangeguy/ProgramVer/wiki). +A `winver`-style copyright and version window for your own Python programs: a logo, a version +line, a trademark notice, a licence blurb, and buttons that open the full licence and EULA. -```text -├── docs -| ├── images -| ├── CUSTOMIZATION.md -| ├── TESTING.md -| ├── USAGE.md -└── README.md ``` +ProgramVer/ +├── main.py get_resource_path, openLicense, openEULA, ProgramVer +├── imgs/ the window's images +├── tests/test_main.py +└── docs/ this documentation +``` + +## Pages + +- [Quickstart](./quickstart.md) — run it, and what you must supply first +- [Installation](./installation.md) — source, PyPI, executable +- [Configuration](./configuration.md) — every string and image to change for your project +- [Architecture](./architecture.md) — three functions, one window +- [Development](./development.md) — packaging and style +- [Testing](./testing.md) — the suite, and what it does not check +- [FAQ](./faq.md) — why it fails, what to customise, why GPL text +- [Troubleshooting](./troubleshooting.md) — missing files, blank windows +- [Roadmap](./roadmap.md) — direction and non-goals +- [Known issues](./internal/known-issues.md) — recorded defects + +## It does not run as shipped + +Three files the code needs are absent from the repository: + +| Wanted by | File | Present | +|---|---|---| +| `ProgramVer()` | `imgs/dfdlogo.gif` | **No** | +| `openLicense()` | `LICENSE.txt` | **No** — the repo has `LICENSE.md` | +| `openEULA()` | `EULA.txt` | **No** | + +The first stops the window opening at all. `MANIFEST.in` lists `imgs/dfdlogo.gif` for packaging, +so it is expected to exist and does not. + +CI is green throughout, because the test suite mocks file access and every Tk widget. See +[`internal/known-issues.md`](./internal/known-issues.md). + +## What it is for + +Microsoft's `winver` shows a small window with the product name, version, and licensing notice. +ProgramVer is the same idea for a Python program: a function you call from an About menu that +presents the same information, with the licence text one click away. + +The design assumption is that **you edit it**. Program name, version, trademark line, licence +blurb, and the two document filenames are all literals in `main.py`, each with a +`# change as needed` comment. That is the intended workflow — see +[Configuration](./configuration.md). + +## Standard library only + +Tkinter and nothing else. Dropping `main.py` into a project adds no dependencies, which is the +point of a component meant to be copied rather than depended on. diff --git a/docs/TESTING.md b/docs/TESTING.md deleted file mode 100644 index 4b17237..0000000 --- a/docs/TESTING.md +++ /dev/null @@ -1,100 +0,0 @@ -# ProgramVer Test Suite - -This directory contains the comprehensive test suite for ProgramVer. - -## Running Tests - -### Prerequisites - -Install the required testing dependencies: - -```bash -pip install -r requirements.txt -``` - -On Linux systems, you'll also need to install tkinter and xvfb for headless GUI testing: - -```bash -sudo apt-get install python3-tk xvfb -``` - -### Running All Tests - -To run all tests: - -```bash -# On Linux (headless environment) -xvfb-run -a python -m pytest tests/ -v - -# On Windows/macOS (with display) -python -m pytest tests/ -v -``` - -### Running Tests with Coverage - -To run tests with coverage report: - -```bash -# On Linux -xvfb-run -a python -m pytest tests/ --cov=. --cov-report=term-missing --cov-report=html - -# On Windows/macOS -python -m pytest tests/ --cov=. --cov-report=term-missing --cov-report=html -``` - -The HTML coverage report will be generated in the `htmlcov` directory. - -### Running Specific Tests - -To run a specific test file: - -```bash -xvfb-run -a python -m pytest tests/test_main.py -v -``` - -To run a specific test class: - -```bash -xvfb-run -a python -m pytest tests/test_main.py::TestOpenLicense -v -``` - -To run a specific test method: - -```bash -xvfb-run -a python -m pytest tests/test_main.py::TestOpenLicense::test_openLicense_creates_window -v -``` - -## Test Structure - -The test suite is organized as follows: - -- `test_main.py` - Tests for the main ProgramVer module - - `TestOpenLicense` - Tests for the openLicense function - - `TestOpenEULA` - Tests for the openEULA function - - `TestProgramVer` - Tests for the ProgramVer main function - - `TestModuleIntegration` - Integration tests for the module - -## GitHub Actions Integration - -The test suite is automatically run on GitHub Actions for every push and pull request. The workflow: - -- Runs on Ubuntu, Windows, and macOS -- Tests against Python 3.9, 3.10, 3.11, and 3.12 -- Generates coverage reports -- Uploads coverage to Codecov (for master branch) - -See `.github/workflows/tests.yml` for the complete configuration. - -## Writing New Tests - -When adding new features to ProgramVer, please add corresponding tests following these guidelines: - -1. Create test classes that inherit from `unittest.TestCase` -2. Use descriptive test method names that start with `test_` -3. Use mocking for GUI components to avoid requiring a display -4. Add docstrings to explain what each test verifies -5. Ensure tests are independent and can run in any order - -## Coverage Goals - -We aim to maintain at least 90% code coverage for the main module. Currently, we have 100% coverage for `main.py`. diff --git a/docs/USAGE.md b/docs/USAGE.md deleted file mode 100644 index c802899..0000000 --- a/docs/USAGE.md +++ /dev/null @@ -1,26 +0,0 @@ -# ProgramVer Usage - -To install ProgramVer, you can use an executable package (Windows), run the scripts through Python (Windows, macOS, Linux), or install from the [Python Package Index](https://pypi.org/). - -## Executable Package - -1. To run the executable package, download the latest `.zip` file from [GitHub Releases](https://github.com/willtheorangeguy/ProgramVer/releases/latest) page. -2. Extract the `.zip` file using a program like [7-Zip](https://www.7-zip.org/). -3. _(Optional) Move the files to `C:\Program Files` and create a shortcut._ -4. Double click on `send.exe`. -5. Enjoy the program! - -## Python Script - -1. To run the Python script, download the latest source code release from [GitHub Releases](https://github.com/willtheorangeguy/ProgramVer/releases/latest) page. -2. Download and install [Python](https://www.python.org/downloads/). -3. Extract the source code files using a program like [7-Zip](https://www.7-zip.org/). -4. Double click on `send.py`, or right-click and open with IDLE and press `F5`. -5. Enjoy the program! - -## Python Package Index (`pip`) - -1. Download and install [Python](https://www.python.org/downloads/). -2. Open a terminal and run the command: `pip install lego-block-creator`. -3. Start the program by running the command: `lego-block-creator`. -4. Enjoy the program! diff --git a/docs/architecture.md b/docs/architecture.md new file mode 100644 index 0000000..71f966d --- /dev/null +++ b/docs/architecture.md @@ -0,0 +1,69 @@ +# ProgramVer — Architecture + +One module, three functions, no dependencies. + +``` +main.py +├── get_resource_path(filename) resolve against __file__ +├── openLicense() read LICENSE.txt → its own window +├── openEULA() read EULA.txt → its own window +└── ProgramVer() the main window, then mainloop() +``` + +## `get_resource_path` + +```python +base_dir = os.path.dirname(os.path.abspath(__file__)) +return os.path.join(base_dir, filename) +``` + +Resolves against the **module**, not the working directory, so the window works wherever it is +launched from and survives being copied into another project. Used for both images and both text +files. + +## `ProgramVer()` + +Builds the window and calls `mainloop()` itself, so it **blocks** until closed. That makes it a +drop-in call from a menu handler, and it means calling it from an existing Tkinter application +starts a second event loop — see below. + +Widgets, top to bottom: logo, name and version, trademark notice, licence blurb, the two +buttons, and the Python-Powered badge at the bottom. + +Note that neither `PhotoImage` is bound to a lasting reference. They survive because they are +locals of a function that blocks in `mainloop()` — if `ProgramVer()` were refactored to return +the window instead, both images would be garbage-collected and the labels would render blank +with no error. + +## `openLicense` and `openEULA` + +Identical in shape: construct a `Tk()`, read a text file, insert it into a `Text` widget, pack. + +Two things follow. Neither calls `mainloop()` — they rely on the main window's loop, which works +because they are invoked from a button callback inside it. And both construct a second `Tk()` +root rather than a `Toplevel()`; Tkinter supports one true root per process, so closing the +wrong window can take the others with it. + +Neither file is present in the repository. See +[`internal/known-issues.md`](./internal/known-issues.md). + +## Why it is a template, not a library + +Every displayed string is a literal, each marked `# change as needed`. There is no parameter, no +config object, and no settings file. The intended workflow is copying `main.py` into your project +and editing it. + +That is a reasonable design for a component this small — a configurable version would need a +schema for something a developer edits once — but it does mean the shipped defaults are visible +to anyone who forgets to change them. + +## Standard library only + +Tkinter and `os`. Nothing to install, and nothing added to the dependency tree of whatever +project copies it in. + +## What breaks it + +The design is sound; three files it opens are absent. `imgs/dfdlogo.gif` stops the window +entirely, and the two `.txt` files break a button each. `MANIFEST.in` lists the image for +packaging, so its absence is an omission rather than a decision. diff --git a/docs/configuration.md b/docs/configuration.md new file mode 100644 index 0000000..d8e92e5 --- /dev/null +++ b/docs/configuration.md @@ -0,0 +1,80 @@ +# ProgramVer — Configuration + +ProgramVer is a template. There is no config file — you edit `main.py`, and every editable +string carries a `# change as needed` comment. + +Earlier documentation gave **line numbers** for these edits. They no longer match the file, so +this page names the symbols instead. + +## The window title + +```python +window.title("Copyright & Version Info for ProgramVer") +``` + +In `ProgramVer()`. Use your program's name. + +## Program name and version + +```python +info = Label(window, text="ProgramVer \n Version: 1.9.0 (Build #)") +``` + +Hardcoded. Reading it from your package metadata +(`importlib.metadata.version("yourpackage")`) keeps it from drifting after a release. + +## Trademark notice + +```python +trademarks = Label(window, text="Copyright (C) 2017 - 2024 Dog Face Development Co. ...") +``` + +Placeholder text naming a different company, and dated 2024. Replace it. The `winver` equivalent +is a single line: + +```text +© Microsoft Corporation. All rights reserved. +``` + +## Licence blurb + +```python +licenseblurb = Label(window, text="""...GNU General Public License...""") +``` + +The shipped text is the GPL v3 notice for "Dog Face Development Company", while **this repository +is MIT**. For a tool whose purpose is displaying licence information, showing the wrong licence +is worth fixing before anything else — see +[`internal/known-issues.md`](./internal/known-issues.md). + +Use the notice your own licence recommends. MIT does not require one in-window; GPL does. + +## The licence and EULA files + +```python +license_path = get_resource_path("LICENSE.txt") # in openLicense +eula_path = get_resource_path("EULA.txt") # in openEULA +``` + +Both are read as plain text with UTF-8 encoding and shown in a `Text` widget. Neither file is in +this repository — supply them, or repoint the calls at files you have. + +If you point `openLicense` at a Markdown file, note it is displayed raw, with no rendering. + +## Images + +| Image | Path | Shown | +|---|---|---| +| Your logo | `imgs/dfdlogo.gif` | Top | +| Python-Powered badge | `imgs/pythonpoweredlengthgif.gif` | Bottom | + +**GIF or PNG only** — Tkinter's `PhotoImage` reads nothing else without Pillow. Both are loaded +through `get_resource_path`, so they resolve relative to the module. + +Remember `MANIFEST.in` if you add images and intend to package them. + +## Layout + +Everything is `pack`ed: logo, info, trademarks, blurb, and buttons from the top; the Python badge +at the bottom. Buttons get `pady=5`. There is no styling beyond Tkinter's defaults, deliberately — +it is meant to look like a system dialog. diff --git a/docs/development.md b/docs/development.md new file mode 100644 index 0000000..647f89c --- /dev/null +++ b/docs/development.md @@ -0,0 +1,77 @@ +# ProgramVer — Development + +## Setup + +```bash +git clone https://github.com/willtheorangeguy/ProgramVer +cd ProgramVer +pip install -r requirements.txt +python main.py +``` + +No runtime dependencies; `requirements.txt` is the tooling. + +## Commands + +```bash +python main.py # run +pytest # 14 tests +pylint $(git ls-files '*.py') # what CI lints with +``` + +## Packaging + +`pyproject.toml`, `setup.py`, and `setup.cfg` all describe the package at version `1.9.0`. Two of +them contain a mistake worth understanding before touching them: + +```python +packages=find_packages(where="imgs"), +package_dir={"": "imgs"}, +py_modules=["main"], +``` + +`imgs/` holds images, not Python packages, so `find_packages` finds nothing and the `package_dir` +mapping points the root at a directory with no modules in it. Only `py_modules=["main"]` actually +ships code. `setup.cfg` repeats the same mapping. + +`MANIFEST.in` lists `imgs/dfdlogo.gif` and `imgs/pythonpoweredlengthgif.gif`. The first is not in +the repository. See [`internal/known-issues.md`](./internal/known-issues.md). + +Consolidating on `pyproject.toml` would remove the duplication and the chance of the three +drifting. + +## Style + +- **Pylint**, with per-file disables at the top (`import-error`, `invalid-name`). +- **Module docstring and copyright header** on every file. +- **`get_resource_path` for every file access.** Never a bare relative path — it is what makes the + module portable into another project. +- **GIF or PNG images.** Tkinter reads nothing else without Pillow, and Pillow would be the first + runtime dependency. + +## If you change the display strings + +They are the template's whole surface, and [Configuration](./configuration.md) names each by +symbol. The old `CUSTOMIZATION.md` located them by **line number**, which had drifted out of +date — avoid reintroducing that. + +## If you extend the tests + +Mock the display, not the filesystem. See [Testing](./testing.md) — the current suite mocks both, +which is why it passes against missing files. + +## CI + +| Workflow | Does | +|---|---| +| `tests.yml` | pytest | +| `pylint.yml` | Lint | +| `codeql-analysis.yml` | Security scan | +| `push-to-pypi.yml` | Publish on release | + +Nothing runs the built package, so a release that cannot start still publishes green. + +## Recording defects + +Bugs found while working here go in [`internal/known-issues.md`](./internal/known-issues.md) +rather than being fixed in passing, unless fixing them is the job you are on. diff --git a/docs/faq.md b/docs/faq.md new file mode 100644 index 0000000..1292568 --- /dev/null +++ b/docs/faq.md @@ -0,0 +1,64 @@ +# ProgramVer — FAQ + +### It crashes on startup. + +`ProgramVer()` loads `imgs/dfdlogo.gif`, which is not in the repository, so Tkinter raises a +`TclError` before the window appears. Supply your own logo at that path — GIF or PNG. + +Recorded in [`internal/known-issues.md`](./internal/known-issues.md). + +### The License and EULA buttons crash. + +They read `LICENSE.txt` and `EULA.txt`. Neither exists here — the repository ships `LICENSE.md`, +and there is no EULA. Add plain-text files, or repoint the calls. + +### The tests pass, so how is it broken? + +The suite mocks every file read and every Tk widget, so it never touches the filesystem or a +display. Every line runs; every line runs against a mock. See [Testing](./testing.md). + +### Why does the window show a GPL notice when the repo is MIT? + +The blurb, the trademark line, and the version are placeholder content for you to replace — each +marked `# change as needed`. They name a different company and quote the GPL. + +For a tool whose purpose is displaying licence information, shipping the wrong licence as the +default is worth fixing. Same known-issues file. + +### How do I use it in my program? + +```python +from main import ProgramVer +ProgramVer() +``` + +Copy `main.py` and `imgs/` into your project and edit the strings — see +[Configuration](./configuration.md). + +### Earlier docs said to copy `ProgramVer.py`. + +There is no such file; the module is `main.py`. Renaming it on the way into your project makes +the old instruction true. + +### Does it block? + +Yes. `ProgramVer()` calls `mainloop()` itself, so it returns when the window is closed. Calling +it from an existing Tkinter app starts a second event loop — see +[Architecture](./architecture.md). + +### Can I use a PNG or JPEG logo? + +PNG yes, JPEG no. Tkinter's `PhotoImage` reads GIF and PNG only; JPEG needs Pillow. + +### Does it need internet, or write anything? + +Neither. It reads local files and draws a window. + +### Why Tkinter? + +Because it is in the standard library. A version window that added a GUI dependency to every +project it was copied into would not be worth copying. + +### Is there a Windows executable? + +Yes, attached to [releases](https://github.com/willtheorangeguy/ProgramVer/releases/latest). diff --git a/docs/images/logo.png b/docs/images/logo.png deleted file mode 100644 index f41c946fc682da45f8bec88d04f194057b78d755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18691 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 Mp8wnXx6 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

bm)vM_qod6^!e0z>pSTb=4-%JRu5gtf2 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 eVDI?uy`|Uxe}F)U7AG*^j;0 diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..e050d42 --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,76 @@ +# ProgramVer — Installation + +## Requirements + +| | | +|---|---| +| Python | 3.x with Tkinter | +| Dependencies | None at runtime | + +Tkinter is bundled on Windows and macOS; on Linux install `python3-tk` (Debian, Ubuntu) or +`python3-tkinter` (Fedora). + +## From source + +```bash +git clone https://github.com/willtheorangeguy/ProgramVer +cd ProgramVer +python main.py +``` + +You will need to supply `imgs/dfdlogo.gif`, `LICENSE.txt`, and `EULA.txt` — see +[Quickstart](./quickstart.md). + +Resource paths are resolved against `main.py`'s own location via `get_resource_path`, so the +working directory does not matter. + +## As a component in your own project + +The intended use. Copy `main.py` into your project and import it: + +```python +from main import ProgramVer +ProgramVer() +``` + +Copy `imgs/` alongside it, or repoint the image paths. + +Earlier documentation told you to copy `ProgramVer.py` and `from ProgramVer import *`. There is +no `ProgramVer.py` in this repository — the module is `main.py`, and the function inside it is +`ProgramVer`. Renaming the file to `programver.py` on the way in is reasonable, and then the old +instruction becomes true. + +## From PyPI + +```bash +pip install programver +programver +``` + +Two caveats. The console script points at `main:ProgramVer`, which does call `mainloop()`, so it +would work — if the image were present. And the packaging declares `imgs/` as the package root +(`package_dir={"": "imgs"}`, `find_packages(where="imgs")`) where there are no Python packages +at all; only `py_modules=["main"]` ships anything. See +[`internal/known-issues.md`](./internal/known-issues.md). + +## Windows executable + +Attached to [releases](https://github.com/willtheorangeguy/ProgramVer/releases/latest), built +with PyInstaller. Note that a one-file build unpacks to a temporary directory — `get_resource_path` +resolves against `__file__`, which PyInstaller sets appropriately, so this should hold. + +## Verify + +```bash +python main.py +``` + +The window appears with your logo. A `TclError` about `dfdlogo.gif` means the image is still +missing; see [Troubleshooting](./troubleshooting.md). + +## Tests + +```bash +pip install -r requirements.txt +pytest +``` diff --git a/docs/internal/known-issues.md b/docs/internal/known-issues.md new file mode 100644 index 0000000..49b4b34 --- /dev/null +++ b/docs/internal/known-issues.md @@ -0,0 +1,95 @@ +# Known Issues — ProgramVer + +Concrete defects and gaps found while writing this repository's documentation in +August 2026. **Nothing here was changed** — each one needs a code, configuration, or +licensing decision rather than a documentation one. + +Ordered by severity. See [`docs/roadmap.md`](../roadmap.md) for the narrative version, +which also covers deliberate non-goals. + + +**6 open:** 2 high, 3 medium, 1 low. + +## 1. The window cannot open: imgs/dfdlogo.gif is not in the repository + +**Severity:** High +**Where:** `main.py` -> `ProgramVer`, `MANIFEST.in` + +**What:** `ProgramVer()` calls `PhotoImage(file=get_resource_path("imgs/dfdlogo.gif"))` as the first of its two images. `imgs/` contains only `pythonpoweredlengthgif.gif` and an egg-info directory -- `dfdlogo.gif` is absent, and `git ls-files` does not list it. `MANIFEST.in` explicitly includes it for packaging, so its absence is an omission rather than a decision. + +**Why it matters:** Tkinter raises `TclError` on that line, before any widget is packed, so the program produces a traceback and no window at all. This is the only thing the package does: there is no degraded mode, no fallback image, and no other entry point. Every route -- `python main.py`, the `programver` console script, the PyInstaller build, and copying the module into another project -- fails identically. CI stays green throughout, because the test suite patches `main.PhotoImage`. + +**Suggested fix:** Restore or replace `imgs/dfdlogo.gif` (GIF or PNG; Tkinter reads nothing else without Pillow). Consider falling back to a text label when the image is missing, since this is a template others copy half-configured. + +## 2. Both document buttons read files that do not exist + +**Severity:** High +**Where:** `main.py` -> `openLicense`, `openEULA` + +**What:** `openLicense` opens `get_resource_path("LICENSE.txt")` and `openEULA` opens `get_resource_path("EULA.txt")`, each with a bare `open(...)` and no guard. Neither file is in the repository: the licence here is `LICENSE.md`, and there is no EULA at all. + +**Why it matters:** The two buttons are half the window's function -- a version dialog whose entire value is making the licence one click away. Both raise `FileNotFoundError` from inside a Tk callback, which prints a traceback to the console and leaves the window looking unresponsive rather than reporting anything to the user. A `.md` file sitting next to a `.txt` reference is exactly the kind of near-miss that survives review. + +**Suggested fix:** Add plain-text `LICENSE.txt` and `EULA.txt`, or point the calls at files that exist. Either way, wrap the read and show the error in the window instead of the console -- a template will be copied into projects where these filenames are wrong. + +## 3. The test suite mocks the filesystem, so it passes against a program that cannot start + +**Severity:** Medium +**Where:** `tests/test_main.py` + +**What:** All 14 tests patch `main.Tk`, `main.Text`, `main.Label`, `main.Button`, `main.PhotoImage`, and `builtins.open` (via `mock_open`). `test_get_resource_path` asserts only that the returned string **ends with** `dfdlogo.gif` -- never that the path resolves. Earlier documentation reported '100% code coverage for the main module'. + +**Why it matters:** Both High-severity issues above are missing files, and both are invisible to this suite by construction. The result is a repository whose badge, coverage figure, and CI all report health while the program raises before drawing a window. Mocking the display is necessary for headless CI; mocking the filesystem as well removes the only check that would have caught this, and the coverage number then actively misleads. + +**Suggested fix:** Add a test that the resources exist -- roughly four lines, no mocking: + + for name in ("imgs/dfdlogo.gif", "imgs/pythonpoweredlengthgif.gif", + "LICENSE.txt", "EULA.txt"): + assert os.path.exists(get_resource_path(name)), name + +Keep mocking Tk; stop mocking `open` in tests whose purpose is to prove a file is read. + +## 4. The window displays a GPL notice and another company's copyright, in an MIT repository + +**Severity:** Medium +**Where:** `main.py` -> `trademarks`, `licenseblurb`, `info` labels; `LICENSE.md` + +**What:** The `trademarks` label reads 'Copyright (C) 2017 - 2024 Dog Face Development Co. All rights reserved in all countries', and `licenseblurb` renders the GNU GPL v3 notice for 'Dog Face Development Company'. `LICENSE.md` in this repository is **MIT, Copyright 2026 willtheorangeguy**. Each label carries a `# change as needed` comment, so the text is placeholder by design. + +**Why it matters:** The program's single purpose is displaying accurate copyright and licence information, and its default output is neither -- wrong licence, wrong holder, wrong year. Anyone who copies the template and forgets one label ships a false licence claim in their own About box, which is the specific failure this tool exists to prevent. The `# change as needed` comments make the intent clear in the source and are invisible in the running window. + +**Suggested fix:** Make the defaults match this repository -- MIT, willtheorangeguy, the current year -- so an unedited copy is at least self-consistent. Better still, derive the name and version from package metadata and read the notice from the licence file, leaving less to be forgotten. + +## 5. Packaging declares imgs/ as the package root, where there are no packages + +**Severity:** Medium +**Where:** `setup.py`, `setup.cfg` + +**What:** `setup.py` has `packages=find_packages(where="imgs")` and `package_dir={"": "imgs"}`; `setup.cfg` repeats `package_dir = \n = imgs` with `packages = find:` under `where = imgs`. `imgs/` contains image files and an egg-info directory -- no Python packages. `find_packages` therefore returns an empty list, and only `py_modules=["main"]` ships any code. A third description of the same package exists in `pyproject.toml`. + +**Why it matters:** The build succeeds and publishes, which is why this has survived: the wheel happens to contain the one module that matters, by a different mechanism than the one the configuration appears to be using. Anyone adding a real package later will find it silently excluded, and the `package_dir` mapping makes the failure hard to read -- setuptools will look for modules under `imgs/`. Three overlapping build descriptions make it likelier that a fix lands in the file that is not being read. + +**Suggested fix:** Drop the `package_dir` and `find_packages` lines -- this is a single-module project and `py_modules` is the correct declaration. Then consolidate on `pyproject.toml` and delete `setup.py` and `setup.cfg`. + +## 6. The README's integration instructions name a file that does not exist + +**Severity:** Low +**Where:** `README.md` (corrected in this pass), `docs/CUSTOMIZATION.md` (removed in this pass) + +**What:** The How To Use section instructed: 'Copy the `ProgramVer.py` file to your project's main directory', then 'add `from ProgramVer import *`' and 'call ProgramVer through the `ProgramVer()` function'. There is no `ProgramVer.py` -- the module is `main.py`. Separately, `docs/CUSTOMIZATION.md` located each editable string by line number ('_Line 11_', '_Line 40_'), and those no longer match `main.py`. + +**Why it matters:** Copying the module into another project is the documented primary use, and the instructions for it name the wrong file -- so a reader either copies nothing or copies `main.py` and finds the import line wrong too. The line-number references fail more quietly: they point at real lines containing different code, so someone following them edits the wrong string and gets a window that still shows the old text. + +**Suggested fix:** Fixed in this pass -- the README and `docs/configuration.md` now name `main.py` and locate each editable string by symbol rather than line number. Renaming the module to `programver.py` would make the original instructions true and is worth considering, since `main.py` is a poor name for a file meant to be dropped into someone else's project. + + +--- + +## Also, across every repository + +**`.bandit` is present on disk but untracked in git.** Verified in PyWorkout, treklogger, +skyscanner-cli, booking-cli, piggy, and aibot — the config file exists locally in each but +`git ls-files` does not know about it, so none of it reached GitHub. + +The August 2026 security sweep therefore looks complete locally and landed nowhere. Worth +checking across all 44 repositories it covered. diff --git a/docs/quickstart.md b/docs/quickstart.md new file mode 100644 index 0000000..1c521bb --- /dev/null +++ b/docs/quickstart.md @@ -0,0 +1,70 @@ +# ProgramVer — Quickstart + +## Before it will run + +The repository is missing three files the code opens. Supply them first: + +| File | Used by | Notes | +|---|---|---| +| `imgs/dfdlogo.gif` | `ProgramVer()` | Your logo. **GIF or PNG only** — Tkinter reads nothing else | +| `LICENSE.txt` | **Open License** button | Plain text; the repo ships `LICENSE.md` | +| `EULA.txt` | **Open EULA** button | Plain text | + +Without the first, the window does not open at all. See +[`internal/known-issues.md`](./internal/known-issues.md). + +## Run it + +```bash +git clone https://github.com/willtheorangeguy/ProgramVer +cd ProgramVer +python main.py +``` + +## What you get + +A window titled *Copyright & Version Info for ProgramVer*, containing: + +- Your logo +- The program name and version +- A trademark notice +- A licence blurb +- **Open License** and **Open EULA** buttons +- The Python-Powered badge + +## Use it in your own program + +```python +from main import ProgramVer + +ProgramVer() # opens the window and blocks until it is closed +``` + +`ProgramVer()` calls `mainloop()` itself, so it blocks. Calling it from an existing Tkinter app +means running a second event loop — see [Architecture](./architecture.md). + +## Make it yours + +Every string in the window is a literal in `main.py` marked `# change as needed`: + +| Change | Where | +|---|---| +| Window title | `window.title(...)` in `ProgramVer` | +| Name and version | The `info` label | +| Trademark notice | The `trademarks` label | +| Licence summary | The `licenseblurb` label | +| Licence file | `get_resource_path("LICENSE.txt")` in `openLicense` | +| EULA file | `get_resource_path("EULA.txt")` in `openEULA` | +| Logo | `imgs/dfdlogo.gif` | + +The shipped text names a different company and quotes the GPL, while this repository is MIT. It +is placeholder content — replace all of it. See [Configuration](./configuration.md). + +## Tests + +```bash +pip install -r requirements.txt +pytest +``` + +14 tests, passing. Read [Testing](./testing.md) before reading anything into that. diff --git a/docs/roadmap.md b/docs/roadmap.md new file mode 100644 index 0000000..418d29c --- /dev/null +++ b/docs/roadmap.md @@ -0,0 +1,54 @@ +# ProgramVer — Roadmap + +Direction, not a schedule. Defects are in +[`internal/known-issues.md`](./internal/known-issues.md). + +## Where it is + +A working template that does not currently run, because three files it opens are absent. +Everything else — the layout, the customisation points, the resource resolution — is sound. + +## Considered + +**Restoring the missing files.** `imgs/dfdlogo.gif`, `LICENSE.txt`, and `EULA.txt`. The first +alone is the difference between a program that starts and one that does not. + +**A test that the resources exist.** Four lines, no mocking, and it would have caught all three. + +**Defaults that match this repository.** The window shows a GPL notice and another company's +copyright while the repo is MIT — placeholder text that a tool for displaying licences should +not ship. + +**Reading the version from package metadata** rather than a hardcoded string, so a release bump +reaches the window. + +**Fixing the packaging.** `package_dir={"": "imgs"}` and `find_packages(where="imgs")` point at a +directory with no packages. + +**`Toplevel()` for the licence and EULA windows** instead of second `Tk()` roots. + +**Graceful degradation.** A missing logo could render a placeholder and a missing licence file an +explanatory message, rather than a traceback — for a template others will copy half-configured, +that is friendlier than failing hard. + +## Non-goals + +**A configuration file.** Editing the literals is the workflow; a schema for values a developer +sets once would be more machinery than the component. + +**A GUI toolkit dependency.** Tkinter is in the standard library, and staying there is what makes +this safe to copy into any project. + +**Rich text or Markdown rendering.** The licence is displayed as plain text in a `Text` widget. +Rendering would mean a dependency, for a document nobody reads carefully in a dialog. + +**Becoming a general About-box framework.** It shows version and licence information. Update +checks, credits screens, and telemetry consent are all different things. + +## Contributing + +Issues and pull requests welcome — see the +[Contributing Guide](https://github.com/willtheorangeguy/.github/blob/main/CONTRIBUTING.md) or +the [Discord](https://discord.gg/x3G8adwVUe). + +Adding `imgs/dfdlogo.gif` is the smallest change that turns this back into a working program. diff --git a/docs/testing.md b/docs/testing.md new file mode 100644 index 0000000..bdd0946 --- /dev/null +++ b/docs/testing.md @@ -0,0 +1,56 @@ +# ProgramVer — Testing + +```bash +pip install -r requirements.txt +pytest +``` + +14 tests, passing, in about a tenth of a second. + +## What is covered + +`tests/test_main.py` exercises all four functions: + +| Test group | Asserts | +|---|---| +| `get_resource_path` | The returned path ends with the requested filename | +| `openLicense` | A window is created and a file is opened | +| `openEULA` | The same, for the EULA | +| `ProgramVer` | The widgets are constructed and packed | + +`unittest.mock` supplies `mock_open` for file reads and patches `main.Tk`, `main.Text`, +`main.Label`, `main.Button`, and `main.PhotoImage`. + +## What is not covered, and it matters here + +Mocking every file read and every widget is what lets the suite run headless in CI. It also means +the suite passes on a program that cannot start. + +Concretely: `test_get_resource_path` asserts the returned string **ends with** `dfdlogo.gif`. It +never checks that the file exists — and it does not. `test_openLicense_creates_window` patches +`builtins.open` with `mock_open`, so `LICENSE.txt` being absent is invisible. + +So "100% coverage of the main module", as earlier documentation put it, is true and says nothing +about whether the program works. Every line executes; every line executes against a mock. + +## Worth adding + +A test that the files the code opens are actually in the repository: + +```python +def test_required_resources_exist(self): + for name in ("imgs/dfdlogo.gif", "imgs/pythonpoweredlengthgif.gif", + "LICENSE.txt", "EULA.txt"): + self.assertTrue(os.path.exists(get_resource_path(name)), name) +``` + +Four lines, no mocking, and it would have caught all three of this repository's High-severity +issues. Recorded in [`internal/known-issues.md`](./internal/known-issues.md). + +The general point is worth keeping in mind when extending the suite: mock the **display**, not +the **filesystem**. The display cannot be exercised in CI; the filesystem can. + +## CI + +`.github/workflows/tests.yml` runs the suite on push and pull request. `pylint.yml` lints, +`codeql-analysis.yml` scans, `push-to-pypi.yml` publishes on release. diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md new file mode 100644 index 0000000..b15176e --- /dev/null +++ b/docs/troubleshooting.md @@ -0,0 +1,67 @@ +# ProgramVer — Troubleshooting + +## `TclError: couldn't open ".../imgs/dfdlogo.gif"` + +The file is not in the repository, and the code needs it before the window can appear. Supply +your own logo at `imgs/dfdlogo.gif` — GIF or PNG. + +Recorded in [`internal/known-issues.md`](./internal/known-issues.md). `MANIFEST.in` lists it, so +it is expected to exist. + +## `FileNotFoundError: LICENSE.txt` / `EULA.txt` + +The **Open License** and **Open EULA** buttons read those exact filenames. Neither is in the +repository. Add them as plain text, or edit `openLicense` and `openEULA` to point at files you +have — the repository's own licence is `LICENSE.md`. + +## `TclError: couldn't recognize data in image file` + +The image is not a GIF or PNG. Tkinter reads nothing else without Pillow. + +## A label is blank where an image should be + +Tkinter keeps no Python reference to a `PhotoImage`. In the current code they survive because +`ProgramVer()` blocks in `mainloop()` and they stay in scope. If you refactor it to return the +window, bind each image to a widget attribute (`label.image = img`) or they will vanish silently. + +## `ModuleNotFoundError: No module named 'tkinter'` + +A separate package on most Linux distributions: + +```bash +sudo apt install python3-tk # Debian, Ubuntu +sudo dnf install python3-tkinter # Fedora +``` + +## Closing the License window closed everything + +`openLicense` and `openEULA` each construct a second `Tk()` root rather than a `Toplevel()`. +Multiple roots share one interpreter, so destroying the wrong one can take the others down. See +[Architecture](./architecture.md). + +## The version or copyright is wrong + +They are placeholder literals in `main.py` — the shipped text names a different company and a +2024 date. [Configuration](./configuration.md) names each by symbol. + +## `pip install programver` then `programver` fails + +The console script itself is wired correctly (`main:ProgramVer`, which does call `mainloop()`), +but it fails on the missing image like any other route. The packaging also declares `imgs/` as +the package root, which is wrong but harmless — only `py_modules=["main"]` ships code. See +[`internal/known-issues.md`](./internal/known-issues.md). + +## Old docs referenced line numbers that do not match + +`docs/CUSTOMIZATION.md` located each editable string by line number, and the file has changed +since. [Configuration](./configuration.md) names symbols instead. + +## Tests pass but the program does not run + +Expected, and the point of the [Testing](./testing.md) page: the suite mocks the filesystem as +well as the display. + +## Still stuck + +[Open an issue](https://github.com/willtheorangeguy/ProgramVer/issues/new/choose) or ask on the +[Discord](https://discord.gg/x3G8adwVUe), with your OS, Python version, and the traceback. From 9fe14bb2a32873abee28a66deb076577601d9afb Mon Sep 17 00:00:00 2001 From: willtheorangeguy <18339050+willtheorangeguy@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:00:41 -0600 Subject: [PATCH 2/2] docs: restore the original Windows entry in the credits table The rewrite replaced the Windows credit with PyInstaller. The credits table is house boilerplate and should carry through unchanged. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01TtaJBmFDK3GcSyuhSuZ84R --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dcc4f7f..97bea7d 100644 --- a/README.md +++ b/README.md @@ -98,17 +98,17 @@ This software uses the following open source packages, projects, services or web GitHub PSF - PyInstaller + Windows GitHub Python Software Foundation - PyInstaller + Windows Web - Plans Web - Donate - Web - Donate + Web