2.0 Full Release | WebSoftPy (GUI)
WebSoftPy Changelog
From CLI Generator to PyQt6 GUI (v2.0)
Architecture
- Replaced command-line interface with a PyQt6-based graphical user interface.
- Moved script generation and PyInstaller build logic into the GUI application.
User Interface
- Implemented a dark-themed layout using QPalette and custom stylesheets.
- Added a variety of title bar options with a QComboBox dropdown.
- Added a dynamic label that displays a description corresponding to the selected title bar mode.
Title Bar Modes
- Added three window decoration options:
- Normal: Standard OS window frame with native controls.
- WebSoftPy Flow: Frameless window with custom title bar using SVG icons from the
elements/folder. - Frameless: Borderless window with no controls; draggable via mouse.
Persistent Storage
- Added a checkbox to toggle persistent storage.
- When enabled, uses
QWebEngineProfilewith persistent cookies, cache, and storage paths under~/.<appname>/. - When disabled, uses a default off-the-record
QWebEnginePage.
Asset Management
- On first launch, the application copies the
elements/directory from the script’s location intowebapps/elements/. - Generated applications using "WebSoftPy Flow" reference icons from a local
elements/folder relative to their runtime location. - These elements are sourced from https://www.svgrepo.com/ and are on the public domain.
Build Process
- Integrated PyInstaller execution via subprocess.
- Automatically includes
webapps/elements/in the build using--add-datawhen "WebSoftPy Flow" is selected. - Adds required hidden imports:
PyQt6.QtWebEngineCore,PyQt6.QtNetwork,PyQt6.sip, andPyQt6.QtSvgWidgets.
Generated Output
- Application title and target URL are fully user-defined.
- No assumptions about site behavior or structure.
We hope this update was worth the wait!