EVERYTHING XIAOMI
Get listed

pywinauto

pywinauto is a free Python library for automating graphical applications on Microsoft Windows.

Place
#29 of 34
Score
5.9
pywinauto's website

What pywinauto is

pywinauto is a free Python library for automating graphical applications on Microsoft Windows. Scripts can send mouse and keyboard actions to dialogs and controls, retrieve application text, start programs, or connect to programs already running. A Desktop object supports navigation across process boundaries. Two backends are provided: Win32 API and Microsoft UI Automation. Documented Win32 targets include MFC, VB6, VCL, simple WinForms, and legacy applications; UI Automation covers WinForms, WPF, Store apps, Qt5, and browsers. Installation is documented with pip or conda. Manual Windows setup lists pyWin32 and comtypes, while Pillow is optional for screenshots. The project uses the BSD 3-clause license. Linux mouse and keyboard emulation is described, but Linux accessibility support and Apple Accessibility API support are long-term plans. UI Automation cannot support custom properties and controls because of comtypes restrictions. Questions are directed to Stack Overflow and a mailing list.

Good

  • Automates mouse and keyboard controls
  • Supports Win32 and UI Automation backends
  • Can connect to running applications
  • Navigates across process boundaries
  • Free BSD 3-clause library

Watch out

  • Focused on Windows
  • Linux accessibility support remains planned
  • macOS accessibility support remains planned
  • Custom UI properties and controls unsupported

Who it suits

pywinauto suits Python developers automating Windows desktop applications and controls. It is less suitable when Linux or macOS accessibility automation is required.

Verdict

pywinauto brings two Windows GUI automation backends and process-level controls to Python. Check its platform and UI Automation limitations against your target applications.

Plans and prices

From pywinauto's own pricing page, checked 7 Oct 2026.

All about pricing
PlanPriceWhat it gives you
pywinautoFreeBSD 3-clause licensed Python library · Windows GUI automation

The facts

Each one read from pywinauto's own pages, with the date it was checked.

What it does

Actions and data
The library can send mouse and keyboard actions to controls and can retrieve text data from applications.checked 7 Oct 2026
Backends
It supports the Win32 API backend and Microsoft UI Automation backend.checked 7 Oct 2026
Cross-process access
A Desktop object can be used to navigate across process boundaries.checked 7 Oct 2026
Dependencies
Manual Windows installation lists pyWin32 and comtypes; Pillow is optional for screenshots.checked 7 Oct 2026
Installation
The project documents installation with pip or conda.checked 7 Oct 2026
License
The repository states that pywinauto is distributed under the BSD 3-clause license.checked 7 Oct 2026
Process control
An Application object can start an application or connect to one that is already running.checked 7 Oct 2026
Project history
The repository says native Windows pywinauto was initially written by Mark Mc Mahon and continued by contributors.checked 7 Oct 2026
Purpose
pywinauto is a set of Python modules for automating the Microsoft Windows GUI, including mouse and keyboard actions on dialogs and controls.checked 7 Oct 2026
Support
The repository points users to Stack Overflow and a mailing list for questions, and welcomes feature requests and discussions through GitHub issues.checked 7 Oct 2026
UI Automation limitation
The docs state that custom properties and controls are unsupported because of comtypes Python library restrictions.checked 7 Oct 2026

The company

Founded
2006checked 28 Sep 2026

Where it runs

Linux limits
The docs say Linux accessibility support is in the long-term plans; mouse and keyboard input emulation modules are described as working on Linux.checked 7 Oct 2026
macOS limits
The docs say Apple Accessibility API support is in the long-term plans.checked 7 Oct 2026
Supported app types
The docs list MFC, VB6, VCL, simple WinForms and legacy apps for Win32, and WinForms, WPF, Store apps, Qt5 and browsers for UI Automation.checked 7 Oct 2026

Alternatives to pywinauto

All alternatives
  1. 1Cypress logo

    Cypress

    Free planOpen sourceWebAPILinuxmacOS
    8.4From $67 a month
  2. 2Katalon Studio logo

    Katalon Studio

    Free planAndroidiOSWebAPI
    8.4From $1,000 a year
  3. 3

    testRigor

    Free planAndroidiOSWebAPI
    8.3From $300 a month
  4. 4

    Keysight Eggplant Test

    AndroidiOSWebAPI
    7.9$9,999 one-time
  5. 5Selenium logo

    Selenium

    Free planOpen sourceWebAPIExtensionLinux
    7.8Free plan
  6. 6

    Leapwork

    Free planAndroidiOSWebAPI
    7.7Free plan