$npx skillfedfor your agent

uiautomation

Python UIAutomation for Windows

With conditionsPyPI TestingReleased Aug 2025289.4K downloads / moApache 2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — uiautomation-2.0.29-py3-none-any.whl
v2.0.29 · released 2025-08-05 · 1 runtime deps: comtypes

Yes, if you need to automate Windows UI testing or control interaction. The package is actively maintained, has low install friction, and covers a broad range of Windows application types. Install only on Windows 7 or later, run as administrator, and avoid Python 3.7.6 and 3.8.1. No known security vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Must run Python as administrator on Windows 7 or higher; otherwise control enumeration and information retrieval may fail.
  • Windows 7 or later required.
  • Low install friction with a single runtime dependency (comtypes).

License · maintenance · safety

Apache 2.0 (permissive) — Apache 2.0 permissive license allows free copying, distribution, and use with minimal restrictions, making it suitable for both open-source and proprietary projects.

last release 2025-08-05 (374 days) · last repo commit 2026-06-02 · 3,550 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 289,377 downloads/mo, #8,001 on PyPI

Verify before relying

pip install uiautomation

import uiautomation as auto

# Find and interact with a window
window = auto.WindowControl(searchDepth=1, ClassName='Notepad')
edit = window.EditControl()
edit.SendKeys('Hello World')
  • Whether partial Qt support covers the specific Qt versions or frameworks in use
  • Whether Electron apps require the --force-renderer-accessibility flag to be set externally or if the package handles it
  • Performance characteristics when traversing large control trees with many nested controls
Same gist for agents: .md · .json

What it is and what it does

uiautomation is a Python wrapper around the Microsoft UIAutomation API for Windows, allowing developers to programmatically find, inspect, and interact with UI controls in Windows applications. It works with applications that implement UIAutomation providers—including MFC, Windows Forms, WPF, Modern UI, Qt (partially), Firefox, Chrome, and Electron-based apps—enabling automated testing, control manipulation, and UI traversal.

The package provides a control tree model where you search for UI elements by their properties (name, control type, depth) and then interact with them via patterns (value, invoke, etc.). It includes a command-line tool (automation.py) for exploring the control hierarchy and a Python API for scripting. The main constraint is that it requires administrator privileges on Windows 7 and higher, and certain Python versions (3.7.6, 3.8.1) are incompatible due to comtypes issues.

Use it for

  • Automated testing of Windows desktop applications by simulating user interactions like clicks, text input, and menu navigation
  • Building test automation frameworks that verify UI behavior across MFC, WPF, and Windows Forms applications
  • Creating accessibility inspection tools to audit UI control properties and supported interaction patterns
  • Scripting repetitive UI tasks in legacy Windows applications that lack APIs or command-line interfaces
  • Automating data entry workflows across multiple Windows applications by chaining control searches and interactions

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to automate Windows UI testing or control interaction.

The package is actively maintained, has low install friction, and covers a broad range of Windows application types. Install only on Windows 7 or later, run as administrator, and avoid Python 3.7.6 and 3.8.1. No known security vulnerabilities.

Install

uiautomation on PyPI

Before you install

Low install friction with a single runtime dependency (comtypes). Actively maintained with recent commits and a substantial user base. Note: avoid Python 3.7.6 and 3.8.1 due to comtypes incompatibility; use an earlier or later version instead.

Must run Python as administrator on Windows 7 or higher; otherwise control enumeration and information retrieval may fail. Windows 7 or later required.

License in practice

Apache 2.0 permissive license allows free copying, distribution, and use with minimal restrictions, making it suitable for both open-source and proprietary projects.

Quickstart

pip install uiautomation

import uiautomation as auto

# Find and interact with a window
window = auto.WindowControl(searchDepth=1, ClassName='Notepad')
edit = window.EditControl()
edit.SendKeys('Hello World')

Verify before relying

  • Whether partial Qt support covers the specific Qt versions or frameworks in use
  • Whether Electron apps require the --force-renderer-accessibility flag to be set externally or if the package handles it
  • Performance characteristics when traversing large control trees with many nested controls

Package facts

LicenseApache 2.0 permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
comtypes
MaintenanceActively maintained 374 days since the last release
Last repo commit
First released
Downloads289,377 / month, #8,001 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Evidence: uiautomation-2.0.29-py3-none-any.whl

Tags

Capabilities
windows ui automationautomate windows applicationswindows control inspectionui element interaction windowswindows accessibility automationdesktop automation windowswindows app testing automation
Topics
windows-automationui-testingaccessibility
PyPI keywords
windowsuiautomationuiautomationinspect

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “windows ui automation”

  • uiautomationAutomates Windows UI controls and windows by interacting with the…
  • pywinautoAutomate Microsoft Windows GUI interactions by sending mouse and…
  • robotframework-whitelibraryWhiteLibrary automates Windows GUI testing for Robot Framework by…

Give your agent the search over MCP, or paste the wish link into any chat.

More Testing packages

pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo
virtualenv Worth it
PyPI · Libraries · released Aug 2026

virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.

MITpure Python · 3.9+
532.9Mdownloads / mo
coverage Worth it
PyPI · Testing · released Aug 2026

Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.

Install it if you want to measure test completeness or enforce coverage thresholds in your project.

permissive licensepure Python · 3.10+
335.8Mdownloads / mo
pytest-asyncio Worth it
PyPI · Testing · released May 2026

pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.

Install it if you write tests for any asyncio-based code.

Apache-2.0pure Python · 3.10+
275.9Mdownloads / mo
pytest-json-ctrf Worth it
PyPI · Testing · released Jul 2026

A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.

Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.

MITpure Python · 3.8+
273.0Mdownloads / mo

See also pywinauto · PyAutoIt · uiautomator · win-precise-time · Pymem · robotframework-whitelibrary · PyAutoGUI · wmctrl · PyGetWindow · facebook-wda