Metadata-Version: 2.4
Name: pywinGUI
Version: 3.4.5
Summary: PyWinGUI GUI Automation Library for Windows Forms (Binary Distribution)
Author: User
Requires-Python: ==3.13.11
Description-Content-Type: text/markdown
Requires-Dist: pywinauto
Requires-Dist: requests
Requires-Dist: pyautogui
Requires-Dist: pywin32
Requires-Dist: pillow
Requires-Dist: cryptography
Requires-Dist: pygetwindow
Requires-Dist: opencv-python

# pywinGUI  
Enterprise-Grade, Non-Intrusive Windows Desktop Automation Framework  
*(Designed from 30+ Years of Industry Automation Experience)*

---

## Overview

**pywinGUI** is a Python-based Windows desktop automation framework designed to automate **legacy and modern Windows client applications** without requiring any modification to the application under test.

The framework is designed from the perspective of a **30+ years experienced automation and solution architect**, focusing on real enterprise constraints rather than ideal lab conditions.

pywinGUI is built for environments where applications:
- Do not expose stable automation IDs
- Cannot be instrumented or injected
- Do not allow debug ports
- Cannot be rebuilt or reconfigured for testing

Automation is performed **exactly the way a real user interacts with the application**.

---

## Business Value

Most enterprises still depend on **Windows desktop applications** that are:
- Business-critical
- Long-lived (10–30+ years)
- Difficult or expensive to automate

Traditional tools often fail or become fragile in such environments.

**pywinGUI enables reliable automation** for these systems while:
- Reducing manual testing effort
- Lowering automation maintenance cost
- Avoiding dependency on application internals
- Remaining compliant with locked-down enterprise policies

---

## Applications Supported

pywinGUI has been tested and validated on:

- Progress 4GL / OpenEdge ABL desktop applications  
- Informix-based Windows client applications  
- POS systems (e.g., XStore-like systems)  
- Any Windows application running as a desktop client  

**If a human can operate the application, pywinGUI can automate it.**

---

## Key Differentiators

### No Debug Port Required
- No debug port
- No special runtime flags
- No browser-style protocols

### No Automation ID Required
- Works even when UI controls have no automation IDs
- Does not depend on accessibility metadata

### No Injection or Instrumentation
- No DLL injection
- No agents
- No hooks
- No application recompilation
- No configuration changes

The application under test remains **completely untouched**.

---

## Black-Box Automation Philosophy

pywinGUI follows a **true black-box automation model**, shaped by decades of enterprise experience.

The framework does **not** depend on:
- Source code
- Internal APIs
- Runtime hooks
- Debug interfaces

Automation is driven purely by:
- What the user sees
- What the user reads
- How the user interacts

This makes the framework stable even when application internals change.

---

## Architecture Overview

pywinGUI follows a **layered, intent-driven architecture**, designed for long-term maintainability.

### 1. Intent Layer (What to Do)
This is where users define **what they want**, not how to do it.

Examples:
- Fill a field by label
- Select a radio option
- Toggle a checkbox
- Click a button
- Handle a dialog

This layer allows:
- Low-code / intent-based automation
- Readable test definitions
- Future AI-driven script generation

---

### 2. Orchestration Layer (Decision Engine)
The orchestration layer is the **core intelligence** of pywinGUI.

It decides:
- How to locate a control
- Which strategy to use (UIA vs visual)
- How to recover if something changes
- How to handle dialogs and validations

This layer implements:
- Retry logic
- Graceful fallbacks
- Self-healing behavior

---

### 3. Interaction Layer (Execution)
This layer performs the actual interaction with the system:
- Keyboard input
- Mouse actions
- UI Automation where available
- Visual alignment and layout-based interaction

It behaves like a **human operator**, not a debugger.

---

### 4. Evidence & Logging Layer
Designed for enterprise traceability:
- Step-level logging
- Validation capture
- Error and warning handling
- Optional screen recording support

---

## Intelligent Automation Capabilities

### Label-Based Field Automation
- Fill fields using visible labels
- Handles repeated labels using visual alignment
- Supports indexed labels where required

### Advanced Control Handling
- Radio buttons by group, option, or visual order
- Checkbox handling without IDs
- Button interaction based on visible text

### Dialog & Popup Handling
- Automatic handling of confirmation dialogs
- Warning, error, and success message capture

---

## Self-Healing Capability

A major failure point in enterprise automation is **fragility**.

pywinGUI is designed with **self-healing behavior**, allowing it to:
- Tolerate minor UI layout changes
- Continue working across UI shifts
- Reduce script failures over time

This directly reduces long-term maintenance cost.

---

## AI-Assisted & Low-Code Direction

Modern automation users prefer **intent over scripting**.

pywinGUI is designed to support:
- Writing automation steps in simple English
- Automatic script generation
- Intelligent field and cell mapping
- AI-assisted automation flows

AI enablement is a **core design direction**, not an afterthought.

---

## Competitor Perspective (Experience-Based)

pywinGUI is designed based on **30+ years of hands-on experience** with enterprise automation tools such as:

- SmartBear TestComplete
- Ranorex
- Micro Focus UFT
- Other commercial desktop automation platforms

These tools are powerful but often:
- Require agents or hooks
- Depend heavily on accessibility support
- Break easily on legacy systems
- Carry high licensing and maintenance costs

pywinGUI exists to address these exact gaps.

---

## Target Audience

pywinGUI is intended for:

- Enterprise QA teams
- Automation engineers
- Legacy system modernization teams
- Organizations automating Windows desktop applications
- Regulated environments where debug ports and instrumentation are restricted

---

## Installation & Requirements

- Python 3.x
- Windows operating system
- No application-side installation required
- No special privileges required on the application under test

---

## Support

For support, usage questions, or automation feasibility discussions:

📧 **it.python101@gmail.com**

---

## Roadmap (High-Level)

- Enhanced self-healing mechanisms
- AI-based script generation
- Improved intent-to-automation mapping
- Smarter visual label detection
- Increased enterprise-scale stability

The roadmap is intentionally high-level to maintain clarity.

---

## Final Note

pywinGUI is not a replacement for web automation tools.

It exists for one clear purpose:

**Reliable automation of Windows desktop applications that were never designed to be automated.**

Built from real enterprise experience — not theoretical assumptions.
