Auto PY to EXE is a desktop application that provides a graphical interface for converting Python scripts (.py) into standalone Windows executables (.exe) using PyInstaller under the hood. The application is structured as a Python package with a web-based frontend served locally via the Eel framework, which bridges JavaScript UI components with a Python backend. The backend handles argument parsing, configuration management, file dialogs (via tkinter), and orchestrates PyInstaller execution, capturing logs and output to display in real-time in the browser UI. The tool supports a wide range of PyInstaller options, including onefile/onedir modes, console hiding, icon assignment, additional files, and many advanced flags, all exposed through a dynamically generated settings panel. It also includes version checking against GitHub API for both itself and PyInstaller, along with compatibility shims (e.g., for Python 3.12 bottle issues). The codebase is well-organized into distinct modules (validation, packaging, UI, dialogs, utils, shims) with a clear separation between Python backend and frontend presentation, though some cross-module coupling exists via a global config singleton. Tests cover basic packaging, library imports, and dependency availability, though they are limited in scope.
py2exe is a specialized build tool and library designed to freeze Python scripts into standalone Windows executables (.exe). It supports console applications, GUI applications, and Windows services. The architecture consists of a Python package (py2exe) that analyzes dependencies and bundles code, combined with C-based runtime stubs (MemoryModule, run.exe, etc.) that embed the Python interpreter and execute the frozen script from memory or disk. The primary entry point is the `py2exe.freeze()` API, which replaces the deprecated `distutils`/`setup.py` interface. It relies heavily on `pefile` for binary analysis and `setuptools` for packaging. The tool is actively maintained, supporting Python versions 3.10 through 3.14. It features a robust hook system for handling complex third-party packages like NumPy, SciPy, and Matplotlib. The codebase demonstrates high craftsmanship in its C integration for memory-based DLL loading and dependency scanning, making it a critical tool for distributing Python applications on Windows without requiring a Python installation.