<commit_before>[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UGXPL6AD29PHW)
[![Join the chat at https://gitter.im/pywinauto/pywinauto](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pywinauto/pywinauto?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Documentation Status](https://readthedocs.org/projects/pywinauto/badge/?version=latest)](http://pywinauto.readthedocs.org/en/latest/?badge=latest)
[![Windows Tests](https://ci.appveyor.com/api/projects/status/ykk30v7vcvkmpnoq/branch/master?svg=true&passingText=Windows%20tests%20-%20OK&pendingText=Windows%20tests%20-%20running&failingText=Windows%20tests%20-%20fail)](https://ci.appveyor.com/project/pywinauto/pywinauto)
[![Linux Tests](https://travis-ci.org/pywinauto/pywinauto.svg?branch=master)](https://travis-ci.org/pywinauto/pywinauto)
[![codecov.io](http://codecov.io/github/pywinauto/pywinauto/coverage.svg?branch=master)](http://codecov.io/github/pywinauto/pywinauto?branch=master)
[![Code Health](https://landscape.io/github/pywinauto/pywinauto/master/landscape.svg?style=flat)](https://landscape.io/github/pywinauto/pywinauto/master)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b823b31c0f2b48d6873326d038c5a516)](https://www.codacy.com/app/pywinauto/pywinauto?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=pywinauto/pywinauto&amp;utm_campaign=Badge_Grade)

pywinauto
============
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.

### Setup
* run `pip install -U pywinauto` (dependencies will be installed automatically)

### Documentation / Help
* [Short Intro on ReadTheDocs](https://pywinauto.readthedocs.io/en/latest/)
* [Getting Started Guide](https://pywinauto.readthedocs.io/en/latest/getting_started.html) (core concept, Spy/Inspect tools etc.)
* [StackOverflow tag](https://stackoverflow.com/questions/tagged/pywinauto) for questions
* [Mailing list](https://sourceforge.net/p/pywinauto/mailman/)

### Enjoying this?
Just star the repo or make a donation.

[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UGXPL6AD29PHW)

Your help is valuable since this is a hobby project for all of us: we do 
[new features](https://github.com/pywinauto/pywinauto/issues?q=is%3Aissue+is%3Aopen+label%3A%22New+Feature%22) 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](https://github.com/pywinauto/pywinauto/issues).

### Examples
It is simple and the resulting scripts are very readable. How simple?

```python
from pywinauto.application import Application
app = Application().start("notepad.exe")
<commit_msg>Make key words bold, organize the most important features as a list.<commit_after>[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UGXPL6AD29PHW)
[![Join the chat at https://gitter.im/pywinauto/pywinauto](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pywinauto/pywinauto?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Documentation Status](https://readthedocs.org/projects/pywinauto/badge/?version=latest)](http://pywinauto.readthedocs.org/en/latest/?badge=latest)
[![Windows Tests](https://ci.appveyor.com/api/projects/status/ykk30v7vcvkmpnoq/branch/master?svg=true&passingText=Windows%20tests%20-%20OK&pendingText=Windows%20tests%20-%20running&failingText=Windows%20tests%20-%20fail)](https://ci.appveyor.com/project/pywinauto/pywinauto)
[![Linux Tests](https://travis-ci.org/pywinauto/pywinauto.svg?branch=master)](https://travis-ci.org/pywinauto/pywinauto)
[![codecov.io](http://codecov.io/github/pywinauto/pywinauto/coverage.svg?branch=master)](http://codecov.io/github/pywinauto/pywinauto?branch=master)
[![Code Health](https://landscape.io/github/pywinauto/pywinauto/master/landscape.svg?style=flat)](https://landscape.io/github/pywinauto/pywinauto/master)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b823b31c0f2b48d6873326d038c5a516)](https://www.codacy.com/app/pywinauto/pywinauto?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=pywinauto/pywinauto&amp;utm_campaign=Badge_Grade)

pywinauto
============
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.

### Setup
* run `pip install -U pywinauto` (dependencies will be installed automatically)

### Documentation / Help
* [Short Intro on ReadTheDocs](https://pywinauto.readthedocs.io/en/latest/)
* [Getting Started Guide](https://pywinauto.readthedocs.io/en/latest/getting_started.html) (core concept, Spy/Inspect tools etc.)
* [StackOverflow tag](https://stackoverflow.com/questions/tagged/pywinauto) for questions
* [Mailing list](https://sourceforge.net/p/pywinauto/mailman/)

### Enjoying this?
Just star the repo or make a donation.

[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UGXPL6AD29PHW)

Your help is valuable since this is a hobby project for all of us: we do 
[new features](https://github.com/pywinauto/pywinauto/issues?q=is%3Aissue+is%3Aopen+label%3A%22New+Feature%22) 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](https://github.com/pywinauto/pywinauto/issues).

### Examples
It is simple and the resulting scripts are very readable. How simple?

```python
from pywinauto.application import Application
app = Application().start("notepad.exe")

{'fraction_non_alphanumeric': 0.14354556074766356, 'fraction_numerical': 0.020735981308411214, 'mean_word_length': 6.534653465346534, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 44, 'lorem ipsum': 0, 'www.': 8, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3448323', 'n_tokens_mistral': 2454, 'n_tokens_neox': 2370, 'n_words': 437}