{"id":13448270,"url":"https://github.com/pywinauto/pywinauto","last_synced_at":"2025-05-13T15:03:06.561Z","repository":{"id":32637000,"uuid":"36223210","full_name":"pywinauto/pywinauto","owner":"pywinauto","description":"Windows GUI Automation with Python (based on text properties)","archived":false,"fork":false,"pushed_at":"2025-04-25T19:52:27.000Z","size":27284,"stargazers_count":5346,"open_issues_count":517,"forks_count":724,"subscribers_count":169,"default_branch":"master","last_synced_at":"2025-05-05T22:41:26.144Z","etag":null,"topics":["automation","gui","hooks","linux","python","python-library","pywinauto","qa","testing","testing-tools","ui-automated-tests","ui-automation","uiautomation","user-interface","win32api","windows","windows-api"],"latest_commit_sha":null,"homepage":"http://pywinauto.github.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pywinauto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-05-25T09:50:40.000Z","updated_at":"2025-05-05T19:44:15.000Z","dependencies_parsed_at":"2024-12-24T13:08:47.130Z","dependency_job_id":"d3377bf3-e4da-49db-b5eb-a81985b9d967","html_url":"https://github.com/pywinauto/pywinauto","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pywinauto%2Fpywinauto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pywinauto%2Fpywinauto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pywinauto%2Fpywinauto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pywinauto%2Fpywinauto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pywinauto","download_url":"https://codeload.github.com/pywinauto/pywinauto/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253968261,"owners_count":21992253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","gui","hooks","linux","python","python-library","pywinauto","qa","testing","testing-tools","ui-automated-tests","ui-automation","uiautomation","user-interface","win32api","windows","windows-api"],"created_at":"2024-07-31T05:01:40.605Z","updated_at":"2025-05-13T15:03:06.536Z","avatar_url":"https://github.com/pywinauto.png","language":"Python","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=UGXPL6AD29PHW"],"categories":["Python","GUI Automation","easytrader"],"sub_categories":["Snippets Manager"],"readme":"[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=UGXPL6AD29PHW)\n[![Join the chat at https://gitter.im/pywinauto/pywinauto](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pywinauto/pywinauto?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Documentation Status](https://readthedocs.org/projects/pywinauto/badge/?version=latest)](http://pywinauto.readthedocs.org/en/latest/?badge=latest)\n[![Windows Tests](https://ci.appveyor.com/api/projects/status/ykk30v7vcvkmpnoq/branch/master?svg=true\u0026passingText=Windows%20tests%20-%20OK\u0026pendingText=Windows%20tests%20-%20running\u0026failingText=Windows%20tests%20-%20fail)](https://ci.appveyor.com/project/pywinauto/pywinauto)\n[![Linux Tests](https://travis-ci.org/pywinauto/pywinauto.svg?branch=master)](https://travis-ci.org/pywinauto/pywinauto)\n[![codecov.io](http://codecov.io/github/pywinauto/pywinauto/coverage.svg?branch=master)](http://codecov.io/github/pywinauto/pywinauto?branch=master)\n[![Code Health](https://landscape.io/github/pywinauto/pywinauto/master/landscape.svg?style=flat)](https://landscape.io/github/pywinauto/pywinauto/master)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b823b31c0f2b48d6873326d038c5a516)](https://www.codacy.com/app/pywinauto/pywinauto?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=pywinauto/pywinauto\u0026amp;utm_campaign=Badge_Grade)\n[![Code Quality: Python](https://img.shields.io/lgtm/grade/python/g/pywinauto/pywinauto.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/pywinauto/pywinauto/context:python)\n[![Total Alerts](https://img.shields.io/lgtm/alerts/g/pywinauto/pywinauto.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/pywinauto/pywinauto/alerts)\n[![Conda Version](https://img.shields.io/conda/vn/conda-forge/pywinauto.svg)](https://anaconda.org/conda-forge/pywinauto)\n\npywinauto\n============\npywinauto is a set of python modules to automate the Microsoft Windows GUI. \nAt its simplest it allows you to send mouse and keyboard actions to windows \ndialogs and controls, but it has support for more complex actions like getting text data.\n\nSupported technologies under the hood: Win32 API (`backend=\"win32\"`; used by default),\nMS UI Automation (`backend=\"uia\"`). User input emulation modules\n `mouse` and `keyboard` work on both Windows and Linux.\n\n### Enjoying this?\nJust star the repo or make a donation.\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=UGXPL6AD29PHW)\n\nYour help is valuable since this is a hobby project for all of us: we do \n[new features](https://github.com/pywinauto/pywinauto/issues?q=is%3Aissue+is%3Aopen+label%3A%22New+Feature%22) development during out-of-office hours.\n * In general the library **tends to be cross-platform** in the near future (Linux in 2018, macOS in 2019).\n * Reliable text based **\"record-replay\"** generator is also a high priority feature under development.\n * More feature requests and discusions are welcome in [the issues](https://github.com/pywinauto/pywinauto/issues).\n\n### Setup\n\n#### pip\n\nExecute `pip install -U pywinauto`\n\n#### conda\n\nExecute `conda install -c conda-forge pywinauto`\n\n### Documentation / Help\n* [Short Intro on ReadTheDocs](https://pywinauto.readthedocs.io/en/latest/)\n* [Getting Started Guide](https://pywinauto.readthedocs.io/en/latest/getting_started.html) (core concept, Spy/Inspect tools etc.)\n* [StackOverflow tag](https://stackoverflow.com/questions/tagged/pywinauto) for questions\n* [Mailing list](https://sourceforge.net/p/pywinauto/mailman/)\n\n### Simple Example\nIt is simple and the resulting scripts are very readable. How simple?\n\n```python\nfrom pywinauto.application import Application\napp = Application().start(\"notepad.exe\")\n\napp.UntitledNotepad.menu_select(\"Help-\u003eAbout Notepad\")\napp.AboutNotepad.OK.click()\napp.UntitledNotepad.Edit.type_keys(\"pywinauto Works!\", with_spaces = True)\n```\n\n### MS UI Automation Example\nMore detailed example for `explorer.exe`:\n\n```python\nfrom pywinauto import Desktop, Application\n\nApplication().start('explorer.exe \"C:\\\\Program Files\"')\n\n# connect to another process spawned by explorer.exe\n# Note: make sure the script is running as Administrator!\napp = Application(backend=\"uia\").connect(path=\"explorer.exe\", title=\"Program Files\")\n\napp.ProgramFiles.set_focus()\ncommon_files = app.ProgramFiles.ItemsView.get_item('Common Files')\ncommon_files.right_click_input()\napp.ContextMenu.Properties.invoke()\n\n# this dialog is open in another process (Desktop object doesn't rely on any process id)\nProperties = Desktop(backend='uia').Common_Files_Properties\nProperties.print_control_identifiers()\nProperties.Cancel.click()\nProperties.wait_not('visible') # make sure the dialog is closed\n```\n\n### Dependencies (if install manually)\n* Windows:\n  - [pyWin32](https://github.com/mhammond/pywin32/)\n  - [comtypes](https://github.com/enthought/comtypes)\n* Linux:\n  - [python-xlib](https://github.com/python-xlib/python-xlib)\n* Optional packages:\n  - Install [Pillow](https://pypi.python.org/pypi/Pillow) (by `pip install -U Pillow`) to be able to call `capture_as_image()` method for making a control's snapshot.\n\n### Packages required for running unit tests\n* [Pillow](https://pypi.python.org/pypi/Pillow)\n* [coverage](https://pypi.python.org/pypi/coverage)\n\nRun all the tests: `python ./pywinauto/unittests/testall.py`\n\n### Contribution\nPull requests are very welcome. Read [Contribution Guide](https://github.com/pywinauto/pywinauto/wiki/Contribution-Guide-(draft)) for more details about unit tests, coding conventions, etc.\n\n### Copyrights\nPywinauto for native Windows GUI was initially written by **Mark Mc Mahon**. \nMark brought many great ideas into the life using power of Python. \nFurther contributors are inspired of the nice API so that the development continues.\n\nStarting from 0.6.0 pywinauto is distributed under the BSD 3-clause license.\nPywinauto 0.5.4 and before was distributed under the LGPL v2.1 or later.\n* (c) [The Open Source Community](https://github.com/pywinauto/pywinauto/graphs/contributors), 2015-2018 (0.6.0+ development)\n* (c) Intel Corporation, 2015 (0.5.x maintenance)\n* (c) Michael Herrmann, 2012-2013 (0.4.2)\n* (c) Mark Mc Mahon, 2006-2010 (0.4.0 and before)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpywinauto%2Fpywinauto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpywinauto%2Fpywinauto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpywinauto%2Fpywinauto/lists"}