// the find
asweigart/pyautogui
A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard.
PyAutoGUI is a Python library for scripting mouse and keyboard input across Windows, macOS, and Linux. It's aimed at automating repetitive GUI tasks — form filling, application testing, desktop workflows — without needing the target app to expose any API.
The API is genuinely simple: moveTo, click, write, hotkey — no ceremony, works in 5 minutes. Image-based locating (locateOnScreen) is a useful trick for automating apps that don't expose accessibility hooks. Cross-platform coverage from a single import is real and not hand-wavy. The tweening support for mouse movement is a nice touch if you need to avoid bot-detection heuristics.
Primary monitor only — multi-monitor support is explicitly documented as unreliable, which rules it out for a lot of real workstation setups. Last push was August 2024 and the issues list has been accumulating for years; maintenance is slow. Linux support is Xlib/X11 only, meaning it breaks entirely on Wayland, which is now the default on most major distros. No concept of waiting for elements — you get raw coordinates and pixel matching, so scripts are full of time.sleep() calls and fragile to any UI resize or theme change.