pywinauto/pywinauto
pywinauto/pywinauto has 6,392 GitHub stars and 792 forks. GitHot measured +2 stars in 24 hours. Last checked 2026-11-08 23:08 UTC. Last push 2026-10-28.
Windows GUI Automation with Python (based on text properties)
Measured star growth
- in 24h
- +2
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalpywinauto
pywinauto is a set of python modules to automate the Microsoft Windows GUI. At its simplest it allows you to send mouse and keyboard actions to windows dialogs and controls, but it has support for more complex actions like getting text data.
Supported technologies under the hood: Win32 API (backend="win32"; used by default),
MS UI Automation (backend="uia"). User input emulation modules
mouse and keyboard work on both Windows and Linux.
Enjoying this?
Just star the repo or make a donation.
Your help is valuable since this is a hobby project for all of us: we do new features development during out-of-office hours.
- In general the library tends to be cross-platform in the near future (Linux in 2018, macOS in 2019).
- Reliable text based "record-replay" generator is also a high priority feature under development.
- More feature requests and discusions are welcome in the issues.
Setup
pip
Execute pip install -U pywinauto
conda
Execute conda install -c conda-forge pywinauto
Documentation / Help
- Short Intro on ReadTheDocs
- Getting Started Guide (core concept, Spy/Inspect tools etc.)
- StackOverflow tag for questions
- Mailing list
Simple Example
It is simple and the resulting scripts are very readable. How simple?
from pywinauto.application import Application
app = Application().start("notepad.exe")
app.UntitledNotepad.menu_select("Help->About Notepad")
app.AboutNotepad.OK.click()
app.UntitledNotepad.Edit.type_keys("pywinauto Works!", with_spaces = True)
MS UI Automation Example
More detailed example for explorer.exe:
from pywinauto import Desktop, Application
Application().start('explorer.exe "C:\\Program Files"')
# connect to another process spawned by explorer.exe
# Note: make sure the script is running as Administrator!
app = Application(backend="uia").connect(path="explorer.exe", title="Program Files")
app.ProgramFiles.set_focus()
common_files = app.ProgramFiles.ItemsView.get_item('Common Files')
common_files.right_click_input()
app.ContextMenu.Properties.invoke()
# this dialog is open in another process (Desktop object doesn't rely on any process id)
Properties = Desktop(backend='uia').Common_Files_Properties
Properties.print_control_identifiers()
Properties.Cancel.click()
Properties.wait_not('visible') # make sure the dialog is closed
Dependencies (if install manually)
- Windows:
- Linux:
- Optional packages:
- Install Pillow (by
pip install -U Pillow) to be able to callcapture_as_image()method for making a control's snapshot.
- Install Pillow (by
Packages required for running unit tests
Run all the tests: python ./pywinauto/unittests/testall.py
Contribution
Pull requests are very welcome. Read Contribution Guide for more details about unit tests, coding conventions, etc.
Copyrights
Pywinauto for native Windows GUI was initially written by Mark Mc Mahon. Mark brought many great ideas into the life using power of Python. Further contributors are inspired of the nice API so that the development continues.
Starting from 0.6.0 pywinauto is distributed under the BSD 3-clause license. Pywinauto 0.5.4 and before was distributed under the LGPL v2.1 or later.
- (c) The Open Source Community, 2015-2018 (0.6.0+ development)
- (c) Intel Corporation, 2015 (0.5.x maintenance)
- (c) Michael Herrmann, 2012-2013 (0.4.2)
- (c) Mark Mc Mahon, 2006-2010 (0.4.0 and before)
Explore related projects
n8n-io/n8n
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
209,888 starslanggenius/dify
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.
160,680 starsmicrosoft/PowerToys
Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows
140,755 starsstablyai/orca
Orca is the place for working with a fleet of agents (e.g. Grok Bot, Claude Code). Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.
119,733 stars