You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're excited to announce PPG 1.2.0, our most significant release to date! This update brings revolutionary new features and major architectural improvements that will transform your development experience.
⚡ Major New Features
Hot Reloading
Instant development feedback - See your changes in real-time without manual refreshes
Smart change detection - Only updates what's actually changed for optimal performance
Zero-configuration setup - Works out of the box with your existing projects
Reactive Components
Declarative UI paradigm - Build dynamic interfaces with reactive data binding
Component lifecycle management - Full control over component creation, updates, and destruction
State synchronization - Automatic UI updates when data changes
Performance optimized - Efficient rendering with minimal DOM manipulation
WebEngineBridge
Seamless Python-JavaScript integration - Bridge the gap between backend and frontend
Bidirectional communication - Call Python functions from JavaScript and vice versa
Type-safe interfaces - Full IntelliSense support with proper type checking
Event system - Real-time event handling across the bridge
Core Utilities & Architecture Improvements
Enhanced module system - Better dependency management and lazy loading
Improved error handling - More descriptive error messages and stack traces
Memory optimization - Reduced memory footprint and better garbage collection
Plugin architecture - Extensible system for custom functionality
Pydux 2.0 Integration
Predictable state management - Redux-inspired state container for Python
Time-travel debugging - Step through state changes for easier debugging
Middleware support - Extend functionality with custom middleware
DevTools integration - Visual state inspection and modification
Migration Notes
Breaking Changes
New component system introduced
Hot reloading enabled by default
WebEngineBridge replaces previous JS-Python communication methods
PPGStore deprecated in favor of Pydux
Updated project structure for better organization
Updated CLI commands to support new features
Removed support for Python versions below 3.8
Updated dependencies to latest stable versions
Legacy component syntax deprecated
🐛 Bug Fixes & Improvements
Compatibility & Core Fixes
Added compatibility with PySide6.2+
Fixed compatibility issues with PySide2 (exec() vs exec_())
Fixed issue preventing window maximization in new projects
Added compatibility with PyInstaller 6.9.0+
Fixed QApplication singleton destruction issue before new instance creation
Fixed get_resource method (now works as expected)
Resolved macOS compilation issue with Sparkle
Added Apple Silicon installer support
CLI & Project Management
Fixed CLI generator issue when "views" or "components" folder didn’t exist
Fixed missing resources folder creation when running ppg init
Fixed missing src/build/settings/base.json breaking ppg init on new projects
Fixed application names not properly converted to CamelCase
Fixed build_settings access in compiled apps and source projects
Updated icons
Major New Features: Pydux State Management
Added Pydux: global state container for components, enabling real-time communication
CLI-generated components now natively support Pydux
Advanced Pydux Features
Type-safe state management with full Pydantic integration and dynamic schema validation
Nested model support with automatic validation
Partial updates via update_nested_model() for efficient handling of nested objects
Dot notation access with get_nested("user.name") for intuitive retrieval
Schema flexibility: evolve from simple dicts to strict Pydantic models
Production-ready validation with runtime type checking and clear errors
Reactive Widgets
Introduced Reactive Widgets as part of the new component system
Components now update automatically when bound state changes
Integrated with Pydux for seamless two-way state ↔ UI synchronization
Deprecation Notice
PPGStore is deprecated. Use Pydux instead.
Backward compatibility maintained in 1.1.x, but PPGStore will be removed in a future major release.
Installation & Upgrade Instructions
New Installation
pip install ppg
Upgrading from Previous Versions
pip install --upgrade ppg
What's Next?
Our immediate focus will be on stability and fixing issues following the PPG 1.2.0 update. We want to ensure a smooth transition for all developers upgrading their projects.
All upcoming major features and architectural changes will move into the new core project Qyro Engine, which will power PPG 2.0.
This means:
PPG 1.2.x → Will be focused on compatibility, bug fixes, and incremental improvements.
PPG 2.0 → Will include all next-generation features, performance improvements, and an all-new architecture.
Special thanks to our amazing community contributors who made this release possible! Your feedback, bug reports, and feature requests continue to drive PPG forward.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
We're excited to announce PPG 1.2.0, our most significant release to date! This update brings revolutionary new features and major architectural improvements that will transform your development experience.
⚡ Major New Features
Hot Reloading
Reactive Components
WebEngineBridge
Core Utilities & Architecture Improvements
Pydux 2.0 Integration
Migration Notes
Breaking Changes
WebEngineBridgereplaces previous JS-Python communication methodsPPGStoredeprecated in favor ofPydux🐛 Bug Fixes & Improvements
Compatibility & Core Fixes
exec()vsexec_())QApplicationsingleton destruction issue before new instance creationget_resourcemethod (now works as expected)CLI & Project Management
"views"or"components"folder didn’t existresourcesfolder creation when runningppg initsrc/build/settings/base.jsonbreakingppg initon new projectsbuild_settingsaccess in compiled apps and source projectsMajor New Features: Pydux State Management
Advanced Pydux Features
update_nested_model()for efficient handling of nested objectsget_nested("user.name")for intuitive retrievalReactive Widgets
Deprecation Notice
PPGStoreis deprecated. Use Pydux instead.PPGStorewill be removed in a future major release.Installation & Upgrade Instructions
New Installation
Upgrading from Previous Versions
What's Next?
Our immediate focus will be on stability and fixing issues following the PPG 1.2.0 update. We want to ensure a smooth transition for all developers upgrading their projects.
All upcoming major features and architectural changes will move into the new core project Qyro Engine, which will power PPG 2.0.
This means:
📚 Resources
🙏 Acknowledgments
Special thanks to our amazing community contributors who made this release possible! Your feedback, bug reports, and feature requests continue to drive PPG forward.
Happy coding with PPG 1.2.0! 🎊
Have questions? Found a bug? Open an issue or join our Discussion Forum to connect with other users and the development team.
This discussion was created from the release PPG 1.2 - The BIGGEST Update Yet! 🚀.
All reactions