pywingui 6.1.62__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. pywingui-6.1.62/LICENSE +46 -0
  2. pywingui-6.1.62/PKG-INFO +96 -0
  3. pywingui-6.1.62/README.md +82 -0
  4. pywingui-6.1.62/pyproject.toml +31 -0
  5. pywingui-6.1.62/pywingui/__init__.py +13 -0
  6. pywingui-6.1.62/pywingui/agent.py +969 -0
  7. pywingui-6.1.62/pywingui/ai/__init__.py +3 -0
  8. pywingui-6.1.62/pywingui/ai/error_engine.py +43 -0
  9. pywingui-6.1.62/pywingui/ai/win32_child_handler.py +10 -0
  10. pywingui-6.1.62/pywingui/app/__init__.py +3 -0
  11. pywingui-6.1.62/pywingui/app/context.py +49 -0
  12. pywingui-6.1.62/pywingui/base/__init__.py +3 -0
  13. pywingui-6.1.62/pywingui/base/base_window.py +62 -0
  14. pywingui-6.1.62/pywingui/bridge/__init__.py +4 -0
  15. pywingui-6.1.62/pywingui/bridge/models.py +36 -0
  16. pywingui-6.1.62/pywingui/bridge/protocol.py +1 -0
  17. pywingui-6.1.62/pywingui/bridge/runtime_client.py +142 -0
  18. pywingui-6.1.62/pywingui/cli.py +343 -0
  19. pywingui-6.1.62/pywingui/config.py +47 -0
  20. pywingui-6.1.62/pywingui/controller.py +48 -0
  21. pywingui-6.1.62/pywingui/core/__init__.py +6 -0
  22. pywingui-6.1.62/pywingui/core/action_executor.py +6 -0
  23. pywingui-6.1.62/pywingui/core/engine.py +49 -0
  24. pywingui-6.1.62/pywingui/core/exceptions.py +3 -0
  25. pywingui-6.1.62/pywingui/core/finder.py +27 -0
  26. pywingui-6.1.62/pywingui/elements/__init__.py +23 -0
  27. pywingui-6.1.62/pywingui/elements/base_element.py +58 -0
  28. pywingui-6.1.62/pywingui/elements/button.py +8 -0
  29. pywingui-6.1.62/pywingui/elements/checkbox.py +27 -0
  30. pywingui-6.1.62/pywingui/elements/combo.py +14 -0
  31. pywingui-6.1.62/pywingui/elements/image.py +11 -0
  32. pywingui-6.1.62/pywingui/elements/ocr.py +11 -0
  33. pywingui-6.1.62/pywingui/elements/radio.py +24 -0
  34. pywingui-6.1.62/pywingui/elements/tab.py +8 -0
  35. pywingui-6.1.62/pywingui/elements/table.py +26 -0
  36. pywingui-6.1.62/pywingui/elements/textfield.py +17 -0
  37. pywingui-6.1.62/pywingui/exceptions.py +29 -0
  38. pywingui-6.1.62/pywingui/inspector.py +606 -0
  39. pywingui-6.1.62/pywingui/llm_client.py +660 -0
  40. pywingui-6.1.62/pywingui/native/__init__.py +1 -0
  41. pywingui-6.1.62/pywingui/native/pywingui_native_runtime.cp313-win_amd64.pyd +0 -0
  42. pywingui-6.1.62/pywingui/plugin/__init__.py +1 -0
  43. pywingui-6.1.62/pywingui/plugin/base.py +28 -0
  44. pywingui-6.1.62/pywingui/plugin/manager.py +29 -0
  45. pywingui-6.1.62/pywingui/py.typed +1 -0
  46. pywingui-6.1.62/pywingui/pywingui_cli.py +34 -0
  47. pywingui-6.1.62/pywingui/recorder.py +1707 -0
  48. pywingui-6.1.62/pywingui/tests/__init__.py +0 -0
  49. pywingui-6.1.62/pywingui/tests/test_checkbox_radio.py +158 -0
  50. pywingui-6.1.62/pywingui/tests/test_cli.py +25 -0
  51. pywingui-6.1.62/pywingui/tests/test_combo.py +23 -0
  52. pywingui-6.1.62/pywingui/tests/test_config.py +49 -0
  53. pywingui-6.1.62/pywingui/tests/test_customer_page.py +79 -0
  54. pywingui-6.1.62/pywingui/tests/test_engine.py +15 -0
  55. pywingui-6.1.62/pywingui/tests/test_imports.py +46 -0
  56. pywingui-6.1.62/pywingui/tests/test_relative_actions.py +53 -0
  57. pywingui-6.1.62/pywingui/tests/test_table_ocr.py +85 -0
  58. pywingui-6.1.62/pywingui/ui/__init__.py +1 -0
  59. pywingui-6.1.62/pywingui/ui/button.py +8 -0
  60. pywingui-6.1.62/pywingui/ui/checkbox.py +11 -0
  61. pywingui-6.1.62/pywingui/ui/combo.py +16 -0
  62. pywingui-6.1.62/pywingui/ui/form_reader.py +17 -0
  63. pywingui-6.1.62/pywingui/ui/image.py +15 -0
  64. pywingui-6.1.62/pywingui/ui/menu.py +3 -0
  65. pywingui-6.1.62/pywingui/ui/ocr_utils.py +9 -0
  66. pywingui-6.1.62/pywingui/ui/radio.py +17 -0
  67. pywingui-6.1.62/pywingui/ui/table.py +19 -0
  68. pywingui-6.1.62/pywingui/ui/text.py +26 -0
  69. pywingui-6.1.62/pywingui/ui/tree.py +14 -0
  70. pywingui-6.1.62/pywingui/usage_service.py +515 -0
  71. pywingui-6.1.62/pywingui/utils.py +166 -0
  72. pywingui-6.1.62/pywingui.egg-info/PKG-INFO +96 -0
  73. pywingui-6.1.62/pywingui.egg-info/SOURCES.txt +80 -0
  74. pywingui-6.1.62/pywingui.egg-info/dependency_links.txt +1 -0
  75. pywingui-6.1.62/pywingui.egg-info/entry_points.txt +2 -0
  76. pywingui-6.1.62/pywingui.egg-info/requires.txt +3 -0
  77. pywingui-6.1.62/pywingui.egg-info/top_level.txt +1 -0
  78. pywingui-6.1.62/setup.cfg +4 -0
  79. pywingui-6.1.62/setup.py +9 -0
  80. pywingui-6.1.62/tests/test_public_api.py +64 -0
  81. pywingui-6.1.62/tests/test_runtime_bridge.py +32 -0
  82. pywingui-6.1.62/tests/test_source_boundary.py +32 -0
@@ -0,0 +1,46 @@
1
+ PyWinGUI Proprietary License
2
+
3
+ Copyright (c) 2026 PyWinGUI Engineering. All rights reserved.
4
+
5
+ This software package, including the public Python SDK, documentation, tests,
6
+ examples, compiled native runtime, automation engine, OCR logic, recovery
7
+ logic, licensing logic, and related materials, is proprietary software owned by
8
+ PyWinGUI Engineering or its licensors.
9
+
10
+ Permission is granted only to customers with an active paid license to install
11
+ and use PyWinGUI for their own internal business automation work during the
12
+ license term. Access to the public source files is provided for integration,
13
+ inspection, debugging, and extension of the public API surface only.
14
+
15
+ You may not:
16
+
17
+ 1. Copy, sell, sublicense, publish, distribute, or make PyWinGUI available to
18
+ any third party except as expressly permitted in a separate written
19
+ agreement.
20
+ 2. Remove, alter, bypass, disable, or interfere with license checks,
21
+ entitlement checks, usage controls, telemetry required for licensing, or
22
+ runtime protection.
23
+ 3. Reverse engineer, decompile, disassemble, unpack, extract, or attempt to
24
+ derive source code, algorithms, models, secrets, keys, credentials, or
25
+ implementation details from the compiled native runtime or protected
26
+ components, except where applicable law expressly prohibits this restriction.
27
+ 4. Use PyWinGUI to create a competing automation framework, runtime, SDK,
28
+ product, service, or library.
29
+ 5. Share license keys, credentials, runtime binaries, private repositories, or
30
+ protected components outside the licensed organization.
31
+ 6. Use PyWinGUI after the license term ends, after payment failure, or after
32
+ written termination of the license.
33
+
34
+ All intellectual property rights, title, ownership, trade secrets, confidential
35
+ information, and proprietary rights in PyWinGUI remain with PyWinGUI
36
+ Engineering or its licensors. No rights are granted except the limited license
37
+ described above.
38
+
39
+ PyWinGUI is provided "as is" unless a separate written agreement says otherwise.
40
+ To the maximum extent permitted by law, PyWinGUI Engineering disclaims implied
41
+ warranties and is not liable for indirect, incidental, special, consequential,
42
+ or punitive damages, or for lost profits, lost data, or business interruption.
43
+
44
+ Any separate signed commercial agreement, invoice terms, support agreement, or
45
+ order form between the customer and PyWinGUI Engineering controls if it
46
+ conflicts with this license.
@@ -0,0 +1,96 @@
1
+ Metadata-Version: 2.4
2
+ Name: pywingui
3
+ Version: 6.1.62
4
+ Summary: Enterprise GUI automation SDK for Progress OpenEdge and Win32
5
+ Author-email: PyWinGUI Engineering <it.python101@gmail.com>
6
+ License-Expression: LicenseRef-Proprietary
7
+ Requires-Python: <3.14,>=3.13
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: pywinauto-core>=0.1.5
11
+ Requires-Dist: pywinauto>=0.6.8
12
+ Requires-Dist: pyautogui>=0.9.54
13
+ Dynamic: license-file
14
+
15
+ # PyWinGUI
16
+
17
+ PyWinGUI is a proprietary Windows GUI automation SDK for desktop application
18
+ testing and workflow automation.
19
+
20
+ The package provides a public Python API backed by a protected native runtime.
21
+ The public source is available for integration, inspection, and debugging of
22
+ the API surface. The runtime implementation remains protected.
23
+
24
+ ## What Is Included
25
+
26
+ - Public Python SDK wrappers
27
+ - Type marker support
28
+ - Public tests for import and API boundary checks
29
+ - A compiled native runtime in `pywingui/native/`
30
+ - Proprietary license terms in `LICENSE`
31
+
32
+ The protected runtime contains the automation engine, control detection,
33
+ window orchestration, OCR flow, AI/error recovery, and licensing enforcement.
34
+
35
+ ## Installation
36
+
37
+ Install from PyPI:
38
+
39
+ ```bat
40
+ pip install pywingui
41
+ ```
42
+
43
+ PyWinGUI currently targets:
44
+
45
+ ```text
46
+ Python 3.13 on Windows x64
47
+ ```
48
+
49
+ ## Quick Start
50
+
51
+ ```python
52
+ from pywingui.app import AppContext
53
+ from pywingui.base import BaseWindow
54
+
55
+ ctx = AppContext()
56
+ ctx.connect(title_regex=".*My Application.*")
57
+
58
+ window = BaseWindow(ctx, "My Application")
59
+ window.click("Login")
60
+ window.fill("Username", "demo")
61
+ window.fill("Password", "secret")
62
+ window.click("Submit")
63
+ ```
64
+
65
+ ## Runtime
66
+
67
+ The public SDK loads the protected native runtime automatically. A normal
68
+ installation includes:
69
+
70
+ ```text
71
+ pywingui/native/pywingui_native_runtime.cp313-win_amd64.pyd
72
+ ```
73
+
74
+ Do not move, rename, unpack, decompile, or modify the native runtime.
75
+
76
+ ## Tests
77
+
78
+ Run public tests:
79
+
80
+ ```bat
81
+ python -m pytest tests -q
82
+ ```
83
+
84
+ ## License
85
+
86
+ PyWinGUI is proprietary software. Source access is provided only for public SDK
87
+ integration, inspection, and debugging. The protected native runtime, licensing
88
+ logic, automation engine, OCR logic, AI/error recovery logic, and related
89
+ implementation details remain confidential and owned by PyWinGUI Engineering.
90
+
91
+ See `LICENSE`.
92
+
93
+ ## Support
94
+
95
+ For licensing, installation, and technical support, contact PyWinGUI
96
+ Engineering.
@@ -0,0 +1,82 @@
1
+ # PyWinGUI
2
+
3
+ PyWinGUI is a proprietary Windows GUI automation SDK for desktop application
4
+ testing and workflow automation.
5
+
6
+ The package provides a public Python API backed by a protected native runtime.
7
+ The public source is available for integration, inspection, and debugging of
8
+ the API surface. The runtime implementation remains protected.
9
+
10
+ ## What Is Included
11
+
12
+ - Public Python SDK wrappers
13
+ - Type marker support
14
+ - Public tests for import and API boundary checks
15
+ - A compiled native runtime in `pywingui/native/`
16
+ - Proprietary license terms in `LICENSE`
17
+
18
+ The protected runtime contains the automation engine, control detection,
19
+ window orchestration, OCR flow, AI/error recovery, and licensing enforcement.
20
+
21
+ ## Installation
22
+
23
+ Install from PyPI:
24
+
25
+ ```bat
26
+ pip install pywingui
27
+ ```
28
+
29
+ PyWinGUI currently targets:
30
+
31
+ ```text
32
+ Python 3.13 on Windows x64
33
+ ```
34
+
35
+ ## Quick Start
36
+
37
+ ```python
38
+ from pywingui.app import AppContext
39
+ from pywingui.base import BaseWindow
40
+
41
+ ctx = AppContext()
42
+ ctx.connect(title_regex=".*My Application.*")
43
+
44
+ window = BaseWindow(ctx, "My Application")
45
+ window.click("Login")
46
+ window.fill("Username", "demo")
47
+ window.fill("Password", "secret")
48
+ window.click("Submit")
49
+ ```
50
+
51
+ ## Runtime
52
+
53
+ The public SDK loads the protected native runtime automatically. A normal
54
+ installation includes:
55
+
56
+ ```text
57
+ pywingui/native/pywingui_native_runtime.cp313-win_amd64.pyd
58
+ ```
59
+
60
+ Do not move, rename, unpack, decompile, or modify the native runtime.
61
+
62
+ ## Tests
63
+
64
+ Run public tests:
65
+
66
+ ```bat
67
+ python -m pytest tests -q
68
+ ```
69
+
70
+ ## License
71
+
72
+ PyWinGUI is proprietary software. Source access is provided only for public SDK
73
+ integration, inspection, and debugging. The protected native runtime, licensing
74
+ logic, automation engine, OCR logic, AI/error recovery logic, and related
75
+ implementation details remain confidential and owned by PyWinGUI Engineering.
76
+
77
+ See `LICENSE`.
78
+
79
+ ## Support
80
+
81
+ For licensing, installation, and technical support, contact PyWinGUI
82
+ Engineering.
@@ -0,0 +1,31 @@
1
+ [build-system]
2
+ requires = ["setuptools>=77", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "pywingui"
7
+ version = "6.1.62"
8
+ description = "Enterprise GUI automation SDK for Progress OpenEdge and Win32"
9
+ readme = "README.md"
10
+ requires-python = ">=3.13,<3.14"
11
+ license = "LicenseRef-Proprietary"
12
+ license-files = ["LICENSE"]
13
+ authors = [{name = "PyWinGUI Engineering", email = "it.python101@gmail.com"}]
14
+ dependencies = [
15
+ "pywinauto-core>=0.1.5",
16
+ "pywinauto>=0.6.8",
17
+ "pyautogui>=0.9.54",
18
+ ]
19
+
20
+ [project.scripts]
21
+ pywingui = "pywingui.pywingui_cli:main"
22
+
23
+ [tool.setuptools.packages.find]
24
+ where = ["."]
25
+ include = ["pywingui*"]
26
+
27
+ [tool.setuptools.package-data]
28
+ pywingui = ["py.typed", "native/*.pyd"]
29
+
30
+ [tool.pytest.ini_options]
31
+ testpaths = ["tests"]
@@ -0,0 +1,13 @@
1
+ from pywinauto import Application
2
+
3
+ from pywingui import controller
4
+ from pywingui.app.context import AppContext
5
+ from pywingui.base.base_window import BaseWindow
6
+
7
+
8
+ def wait_for_window(title_substring: str, timeout: float = 30.0):
9
+ context = AppContext()
10
+ return context.engine.finder.find_window(title_substring, timeout=timeout)
11
+
12
+
13
+ __all__ = ["AppContext", "Application", "BaseWindow", "controller", "wait_for_window"]