PyGetWindow
A simple, cross-platform module for obtaining GUI information on application's windows.
Decision gist · record as of 2026-08-14
Yes, if you are on Windows and need straightforward window control for automation or testing. No, if you require active maintenance, support for modern Python versions, or cross-platform macOS/Linux support—the project is dormant and only Windows is fully implemented. Consider only if you can tolerate potential compatibility issues with current Python releases.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Windows platform required for full functionality; macOS and X11 support incomplete per project description.
- Python version compatibility uncertain beyond 3.7 due to dormant maintenance status.
- High install friction: the package is dormant (last release October 2020, last commit July 2024) with no runtime dependencies, but the source distribution format and lack of recent maintenance may complicate installation on modern Python environments.
License · maintenance · safety
BSD (permissive) — BSD license is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
last release 2020-10-04 (2140 days) · last repo commit 2024-07-02 · 419 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,919,941 downloads/mo, #2,823 on PyPI
Alternatives
Verify before relying
pip install pygetwindow
import pygetwindow as gw
# Get all open window titles
titles = gw.getAllTitles()
# Find windows by title
windows = gw.getWindowsWithTitle('Notepad')
if windows:
window = windows[0]
window.maximize()
print(window.title, window.size)- Whether the package works reliably on modern Python versions beyond 3.7, given classifiers list only up to 3.7 and the project is dormant.
- Current state of macOS and X11 support; description notes only Windows is implemented.
- Whether the package installs and functions on current Python 3.x releases without modification.
What it is and what it does
PyGetWindow is a cross-platform GUI window control library that lets you query, locate, and manipulate application windows. It provides functions to retrieve all open windows, search by title, find windows at specific screen coordinates, and get the currently active window. Once you have a Window object, you can read its position, size, and state (minimized/maximized), and perform actions like move, resize, minimize, maximize, restore, activate, and close.
The package is designed for automation and testing scenarios where you need programmatic control over desktop windows. It currently has full implementation only for Windows; macOS and X11 support are noted as incomplete. The project is dormant—last released in October 2020—so it may not be actively maintained or tested against the latest Python versions.
Use it for
- Automate window management in test suites that need to verify UI behavior across multiple application windows.
- Build desktop automation scripts that locate and manipulate windows by title or screen position.
- Create monitoring or logging tools that track active windows and their properties on Windows systems.
- Develop accessibility tools that programmatically control window state and position for users.
- Write integration tests that require opening, resizing, and closing application windows in a controlled manner.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are on Windows and need straightforward window control for automation or testing.
No, if you require active maintenance, support for modern Python versions, or cross-platform macOS/Linux support—the project is dormant and only Windows is fully implemented. Consider only if you can tolerate potential compatibility issues with current Python releases.
Install
pygetwindow on PyPI
Before you install
High install friction: the package is dormant (last release October 2020, last commit July 2024) with no runtime dependencies, but the source distribution format and lack of recent maintenance may complicate installation on modern Python environments.
Windows platform required for full functionality; macOS and X11 support incomplete per project description. Python version compatibility uncertain beyond 3.7 due to dormant maintenance status.
License in practice
BSD license is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install pygetwindow
import pygetwindow as gw
# Get all open window titles
titles = gw.getAllTitles()
# Find windows by title
windows = gw.getWindowsWithTitle('Notepad')
if windows:
window = windows[0]
window.maximize()
print(window.title, window.size)
Verify before relying
- Whether the package works reliably on modern Python versions beyond 3.7, given classifiers list only up to 3.7 and the project is dormant.
- Current state of macOS and X11 support; description notes only Windows is implemented.
- Whether the package installs and functions on current Python 3.x releases without modification.
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Dormant 2,140 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,919,941 / month, #2,823 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: MacOS XEnvironment :: Win32 (MS Windows)Environment :: X11 ApplicationsIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7 |
Evidence: PyGetWindow-0.0.9.tar.gz
Tags
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 › “gui window information retrieval”
- PyGetWindowPyGetWindow provides functions to query, identify, and control…
- xlibProvides a pure-Python X11 client library for communicating with X…
- pywebviewpywebview wraps native webview components to display…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also wmctrl · PyAutoGUI · pwinput · pyshortcuts · pywinauto · PyAutoIt · universal-startfile · PyWinBox · pyperclip · EWMHlib