From f3b5f0545e4081529e2aeaac1517ae140eab0d37 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 13 Sep 2026 19:12:58 +0200 Subject: [PATCH 1/3] Document -diff where people read about wppm The tour covers -ls, -tl, -p, -r, -j, -t and -ws with worked examples, and -diff exists precisely because a feature nobody can find is a feature that is not there. Co-Authored-By: Claude Opus 5 --- README_PYPI.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README_PYPI.md b/README_PYPI.md index 026c77cf..483fc91c 100644 --- a/README_PYPI.md +++ b/README_PYPI.md @@ -175,6 +175,31 @@ entry to whatever pulls it in: {'numpy': ['pandas']} ``` +## Comparing two package lists + +`-md` writes a package index. `-diff` compares two: + +```console +$ wppm -diff WinPythonslim-64bit-3.13.5.0.md WinPythonslim-64bit-3.14.7.0.md +## Changes from WinPythonslim-64bit-3.13.5.0 to WinPythonslim-64bit-3.14.7.0 + +### Python packages + +New packages: + * aiofile 3.9.0 (Asynchronous file operations.) + +Upgraded packages: + * numpy 2.2.6 → 2.5.2 (Fundamental package for array computing in Python) + +Removed packages: + * astropy 6.1.6 (Astronomy and astrophysics core library) +``` + +Any two indexes, in any order: two releases a year apart, or two flavors of the same +one. No distribution is involved, so two downloaded files are enough. WinPython +publishes one index per release and flavor, in +[changelogs/](https://github.com/winpython/winpython/tree/master/changelogs). + ## Environments you have not installed anything into `-t` points `wppm` at *another* Python distribution, and `-ws` at a plain directory of From df4228af4d213a1757b68bd17907a10fba84f36a Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 13 Sep 2026 19:32:41 +0200 Subject: [PATCH 2/3] Drop a parameter nothing read architecture_bits was declared on get_package_index_data and on generate_package_index_markdown, and neither read it: the architecture comes from probing the target interpreter, which is the only thing that can answer it. Passing a value did nothing, silently. The architecture_bits key in the output is unchanged. A caller passing the argument now gets a TypeError rather than being ignored. Co-Authored-By: Claude Opus 5 --- wppm/wppm.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wppm/wppm.py b/wppm/wppm.py index 58569357..b0590957 100644 --- a/wppm/wppm.py +++ b/wppm/wppm.py @@ -81,8 +81,8 @@ def render_markdown_for_list(self, title, items): return md def get_package_index_data(self, python_executable_directory: str|None = None, winpyver2: str|None = None, - flavor: str|None = None, architecture_bits: int|None = None - , release_level: str|None = None, wheeldir: str|None = None) -> dict: + flavor: str|None = None, release_level: str|None = None, + wheeldir: str|None = None) -> dict: """Collects the package index data: distribution identity, tools, packages, wheelhouse.""" my_ver , my_arch = utils.get_python_infos(python_executable_directory or self.target) my_winpyver2 = winpyver2 or os.getenv("WINPYVER2","") @@ -114,10 +114,10 @@ def get_package_index_data(self, python_executable_directory: str|None = None, w } def generate_package_index_markdown(self, python_executable_directory: str|None = None, winpyver2: str|None = None, - flavor: str|None = None, architecture_bits: int|None = None - , release_level: str|None = None, wheeldir: str|None = None) -> str: + flavor: str|None = None, release_level: str|None = None, + wheeldir: str|None = None) -> str: """Generates a Markdown formatted package index page.""" - data = self.get_package_index_data(python_executable_directory, winpyver2, flavor, architecture_bits, release_level, wheeldir) + data = self.get_package_index_data(python_executable_directory, winpyver2, flavor, release_level, wheeldir) d = data["distribution"] as_tuples = lambda items: [(i["name"], i["url"], i["version"], i["summary"]) for i in items] From a4af934a082431482e8132c4c02474706c89a68f Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 13 Sep 2026 19:32:42 +0200 Subject: [PATCH 3/3] wppm 17.13.20260913 -diff is a new feature, so the middle digit moves. Co-Authored-By: Claude Opus 5 --- wppm/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wppm/__init__.py b/wppm/__init__.py index 12e16dd6..b4f744a5 100644 --- a/wppm/__init__.py +++ b/wppm/__init__.py @@ -28,6 +28,6 @@ OTHER DEALINGS IN THE SOFTWARE. """ -__version__ = '17.12.20260816' +__version__ = '17.13.20260913' __license__ = __doc__ __project_url__ = 'http://winpython.github.io/'