Intelligent Windows GUI Automation Framework (Compiled)
Project description
pywingui: The Enterprise Standard for Progress OpenEdge & Win32 Automation
Stop automating. Start solving. Eliminate the fragility of traditional UI testing.
PyWinGUI is not just a library; it is a high-performance automation engine engineered to dominate the most challenging enterprise environments. While traditional tools struggle with Progress OpenEdge’s owner-drawn controls and unpredictable modal behavior, PyWinGUI thrives.
💎 Why Industry Leaders Choose PyWinGUI
Traditional automation (RPA, Selenium, basic Win32 wrappers) fails in enterprise ERPs because they rely on fragile IDs, fixed coordinates, or slow image recognition. PyWinGUI introduces a paradigm shift.
🧠 1. AI-Driven "Self-Healing" Recovery
The AIAgentErrorEngine eliminates the #1 cause of test failure: unexpected validation popups.
- Traditional Tools: Crash when an "Error (1024)" appears.
- PyWinGUI: Identifies the error code, matches it against an AI rule-set, executes the fix (e.g., generating a valid NI number), and continues the test—zero human intervention required.
📍 2. "Zero-Coordinate" Proximity Mapping
Forget fragile pixel coordinates or dynamic AutomationIDs that change every build.
- The Logic: PyWinGUI uses Semantic Proximity. You tell the engine to find the "Surname" field; it finds the label "Surname:" and intelligently locates the nearest input box, checkbox, or dropdown on that horizontal plane.
- The Result: Your tests survive UI layout changes, font resizing, and resolution shifts.
⚡ 3. Ultra-Fast Hybrid Discovery
PyWinGUI uses a proprietary Stage-Gated Discovery Engine:
- Stage 1: Win32 Substring Scanning (Sub-millisecond discovery).
- Stage 2: UIA Tree Drilling (Deep control access).
- The Advantage: Up to 10x faster window attachment than standard UI Automation libraries.
🛠️ The "Low-Maintenance" Revolution
Maintenance is the "hidden killer" of automation ROI. PyWinGUI is designed to eliminate technical debt.
🛡️ Resilience Against UI Drift
In Enterprise ERPs, a small change (like adding a new field or moving a button) usually breaks 100% of coordinate-based scripts.
- PyWinGUI is "Drift-Proof": Because it anchors interactions to labels rather than coordinates, your scripts continue to function even if the entire UI is redesigned, as long as the business labels remain.
🔄 Intelligent Page Object Model (POM)
- Centralized logic: Update a business process in one file, and it reflects across 1,000+ test cases.
- Dynamic Title Sync: The engine automatically tracks window transitions, meaning you don't have to write "Wait" or "Activate" commands between every step. It just works.
🆚 Comparative Advantage: PyWinGUI vs. The World
| Feature | Traditional RPA / Win32 | Selenium / Web-Based | PyWinGUI |
|---|---|---|---|
| Discovery | Fixed IDs / Coordinates | XPath / CSS Selectors | AI-Powered Proximity |
| Error Handling | Hardcoded Try/Except | Custom Listeners | AIAgentErrorEngine (Self-Healing) |
| Grid Handling | OCR Only (Slow/Unreliable) | DOM Inspection | Hybrid Smart-Scraping |
| Maintenance | High (Breaks on build) | Medium (Flaky) | Ultra-Low (Anchor-based) |
| Speed | Slow (Image matching) | Fast (Web) | Instant (Native Win32 Hooks) |
📊 Technical Capabilities at a Glance
Enterprise Core API
| Feature | Technical Advantage | Business Value |
|---|---|---|
| Hybrid Finder | Substring + Regex + Class-name matching. | Resilience: Tests don't break on title changes. |
| Smart Form Reader | Multi-pattern data extraction (ValuePattern + Win32). | Speed: Read 50+ fields in < 2 seconds. |
| Bidirectional Combo | Overshoot-aware keyboard scrolling logic. | Reliability: Zero-fail selection in massive lists. |
| TreeNavigator | Recursive {RIGHT} expansion logic. |
Control: Automate complex multi-level ERP menus. |
| ActionExecutor | Ordered dictionary orchestration + Lambda support. | Legacy Bridge: Modernize old scripts without rewrites. |
🚀 The Business ROI
- Maintenance Reduction: Reduce script maintenance by 70% via Proximity Mapping and AI recovery.
- Execution Speed: Standardize on the Hybrid Engine to cut test cycle times by 50%.
- Stability: Achieve 99.9% pass rates in complex E2E flows by eliminating "Flaky" failures.
- Team Efficiency: Empower manual testers to write high-level Page Objects without deep coding knowledge.
- Quality Assurance: Capture every error, popup, and validation with Deep System Diagnostics.
🛡️ Enterprise-Ready Architecture
- Modular POM: Encapsulate business logic in Page Objects.
- Diagnostic Engine: High-fidelity traceback logging with screen region capture.
- Global Persistence: Thread-safe
AppContextfor parallel execution.
PyWinGUI: Because Enterprise applications deserve Enterprise automation.
© 2026 PyWinGUI Framework. The future of Win32 and Progress OpenEdge Automation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pywingui-6.0.2-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pywingui-6.0.2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c324e89ad550361e4a97fff1c83712afd3cafa5ec89c2c5ab1ea8a643f188817
|
|
| MD5 |
84d5244d502f30bcafd24ae664a7e19f
|
|
| BLAKE2b-256 |
f5f75fb878a6e657d3754ca5958640cb9a404b49a8b01e01b9352507781ea14c
|
File details
Details for the file pywingui-6.0.2-cp313-cp313-win32.whl.
File metadata
- Download URL: pywingui-6.0.2-cp313-cp313-win32.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc917592afd6febac2977e2fdbfefbdec54c37d84bc1e37b8e62a379f4c3eb98
|
|
| MD5 |
6de04f0a53c569ca08673d39583263f3
|
|
| BLAKE2b-256 |
eefcad379daa875f178c0d021383b258ef4bc17264c8ff006526bb960ef30912
|
File details
Details for the file pywingui-6.0.2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pywingui-6.0.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c63bbc006f3027a595c2065634a90cee67d16d6bbd28990e78e7528438cf53bd
|
|
| MD5 |
a5bc42a374e21e6665393b81bb358e4e
|
|
| BLAKE2b-256 |
8c78a78beaf80a6ca361c8abcaf385e8af7c18ab223dd4b7c6905c7eeadf2e61
|
File details
Details for the file pywingui-6.0.2-cp312-cp312-win32.whl.
File metadata
- Download URL: pywingui-6.0.2-cp312-cp312-win32.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1dd3e24a831e3af592d3c98947fabe9ccef6b000ae3fe013ca81187a69ff94f
|
|
| MD5 |
c6be1bf75668146f82555ec1acae751a
|
|
| BLAKE2b-256 |
b1d9b2b76518e8e16c9b77b99e48ceb7dfff81d403b7638f2404961d44d5856e
|
File details
Details for the file pywingui-6.0.2-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pywingui-6.0.2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b22c887240de5f86201f60efc84f75cb32d615801452729811bad496693576a
|
|
| MD5 |
b202e49a3c11951d50ab0431a35c1477
|
|
| BLAKE2b-256 |
e952df349a9030d567009f9c79e34126337ae9c0ea202ddf99550e5390780004
|
File details
Details for the file pywingui-6.0.2-cp311-cp311-win32.whl.
File metadata
- Download URL: pywingui-6.0.2-cp311-cp311-win32.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
625692d4acafd781c0fb379df31a513f12ce2afcc2f4c6983397025221ac007c
|
|
| MD5 |
47a351f6ba2484bd2897885b7abb2846
|
|
| BLAKE2b-256 |
1a301ec627c6a22517a372c6aa37df19d83facc43469e33bed4b6a76da779297
|