graph LR
PyAutoGUI_Core_API["PyAutoGUI Core API"]
OS_Specific_Input_Backends["OS-Specific Input Backends"]
Screen_and_Image_Automation["Screen and Image Automation"]
Failsafe_Utilities_and_System_Info["Failsafe, Utilities, and System Info"]
Command_String_Interpreter["Command String Interpreter"]
GUI_Interaction_Message_Boxes_Windows_["GUI Interaction (Message Boxes & Windows)"]
Tweening_and_Animation["Tweening and Animation"]
PyAutoGUI_Core_API -- "delegates to" --> OS_Specific_Input_Backends
PyAutoGUI_Core_API -- "utilizes" --> Screen_and_Image_Automation
PyAutoGUI_Core_API -- "utilizes" --> Failsafe_Utilities_and_System_Info
PyAutoGUI_Core_API -- "utilizes" --> Tweening_and_Animation
OS_Specific_Input_Backends -- "interacts with" --> Operating_System
Screen_and_Image_Automation -- "raises" --> Failsafe_Utilities_and_System_Info
GUI_Interaction_Message_Boxes_Windows_ -- "depends on" --> External_Libraries
Command_String_Interpreter -- "invokes" --> PyAutoGUI_Core_API
Command_String_Interpreter -- "utilizes" --> Failsafe_Utilities_and_System_Info
Failsafe_Utilities_and_System_Info -- "utilizes" --> PyAutoGUI_Core_API
click PyAutoGUI_Core_API href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pyautogui/PyAutoGUI Core API.md" "Details"
click OS_Specific_Input_Backends href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pyautogui/OS-Specific Input Backends.md" "Details"
click Screen_and_Image_Automation href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pyautogui/Screen and Image Automation.md" "Details"
click Failsafe_Utilities_and_System_Info href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pyautogui/Failsafe, Utilities, and System Info.md" "Details"
click Command_String_Interpreter href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pyautogui/Command String Interpreter.md" "Details"
click GUI_Interaction_Message_Boxes_Windows_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pyautogui/GUI Interaction (Message Boxes & Windows).md" "Details"
click Tweening_and_Animation href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pyautogui/Tweening and Animation.md" "Details"
The PyAutoGUI library provides a cross-platform solution for programmatically controlling the mouse and keyboard, performing screen captures, and interacting with GUI elements. Its main flow involves high-level API calls that delegate to OS-specific backends for actual input simulation. It also includes functionalities for image recognition, failsafe mechanisms, command string interpretation, and GUI interaction, making it a comprehensive tool for GUI automation.
The central module providing high-level functions for automating mouse, keyboard, and scroll actions. It orchestrates calls to OS-specific backends and integrates with other utility components, acting as the primary interface for users.
Related Classes/Methods:
pyautogui.__init__:mouseDown(883:912)pyautogui.__init__:mouseUp(916:945)pyautogui.__init__:click(949:1003)pyautogui.__init__:leftClick(1007:1033)pyautogui.__init__:rightClick(1037:1061)pyautogui.__init__:middleClick(1065:1086)pyautogui.__init__:doubleClick(1090:1129)pyautogui.__init__:tripleClick(1133:1171)pyautogui.__init__:scroll(1175:1201)pyautogui.__init__:hscroll(1205:1229)pyautogui.__init__:vscroll(1233:1257)pyautogui.__init__:moveTo(1261:1288)pyautogui.__init__:moveRel(1292:1318)pyautogui.__init__:dragTo(1325:1362)pyautogui.__init__:dragRel(1366:1411)pyautogui.__init__:keyDown(1542:1560)pyautogui.__init__:keyUp(1564:1578)pyautogui.__init__:press(1582:1616)pyautogui.__init__:hold(1621:1654)pyautogui.__init__:typewrite(1658:1687)pyautogui.__init__:hotkey(1694:1726)pyautogui.__init__:position(752:774)pyautogui.__init__:size(777:783)pyautogui.__init__:onScreen(789:809)pyautogui.__init__:Point(170:170)pyautogui.__init__:Size(171:171)pyautogui.__init__:_normalizeXYArgs(642:703)pyautogui.__init__:_normalizeButton(825:879)pyautogui.__init__:_mouseMoveDrag(1417:1514)pyautogui.__init__:_genericPyAutoGUIChecks(585:598)pyautogui.__init__:_handlePause(631:639)pyautogui.__init__:_logScreenshot(706:749)pyautogui.__init__:linear(617:628)pyautogui.__init__:getPointOnLine(605:614)pyautogui.__init__:isShiftCharacter(526:532)pyautogui.__init__:isValidKey(1521:1538)
Provides the low-level, platform-dependent implementations for simulating mouse and keyboard events. This component is dynamically loaded based on the operating system (macOS, Windows, or X11/Linux).
Related Classes/Methods:
pyautogui._pyautogui_osx(full file reference)pyautogui._pyautogui_win(full file reference)pyautogui._pyautogui_x11(full file reference)pyautogui.__init__:platformModule(150:158)
Handles functionalities related to screen capturing, locating images on the screen, and providing pixel color information.
Related Classes/Methods:
pyautogui.__init__:locate(80:82)pyautogui.__init__:locateAll(85:87)pyautogui.__init__:locateAllOnScreen(90:92)pyautogui.__init__:locateCenterOnScreen(95:97)pyautogui.__init__:locateOnScreen(100:102)pyautogui.__init__:locateOnWindow(105:107)pyautogui.__init__:screenshot(72:72)pyautogui.__init__:pixel(72:72)pyautogui.__init__:pixelMatchesColor(72:72)pyautogui.__init__:raisePyAutoGUIImageNotFoundException(162:176)
Implements safety mechanisms, general utility functions, error handling, and provides system information and debugging tools.
Related Classes/Methods:
pyautogui.__init__:PyAutoGUIException(29:36)pyautogui.__init__:FailSafeException(39:46)pyautogui.__init__:ImageNotFoundException(49:55)pyautogui.__init__:failSafeCheck(1732:1736)pyautogui.__init__:useImageNotFoundException(267:281)pyautogui.__init__:displayMousePosition(1739:1776)pyautogui.__init__:getInfo(2165:2166)pyautogui.__init__:printInfo(2150:2162)pyautogui.__init__:_snapshot(1779:1802)pyautogui.__init__:sleep(1805:1806)pyautogui.__init__:countdown(1809:1813)
Parses and executes a mini-language of PyAutoGUI commands provided as a string, enabling script-like execution from a simplified text format.
Related Classes/Methods:
pyautogui.__init__:run(2089:2147)pyautogui.__init__:_tokenizeCommandStr(1905:2028)pyautogui.__init__:_runCommandList(2031:2086)pyautogui.__init__:_getNumberToken(1816:1832)pyautogui.__init__:_getQuotedStringToken(1835:1849)pyautogui.__init__:_getParensCommandStrToken(1852:1886)pyautogui.__init__:_getCommaToken(1889:1902)
Provides interfaces for displaying message boxes and managing windows, relying on external libraries like pymsgbox and pygetwindow.
Related Classes/Methods:
pyautogui.__init__:alert(50:50)pyautogui.__init__:confirm(50:50)pyautogui.__init__:prompt(50:50)pyautogui.__init__:password(50:50)pyautogui.__init__:Window(127:133)pyautogui.__init__:getActiveWindow(127:133)pyautogui.__init__:getActiveWindowTitle(127:133)pyautogui.__init__:getWindowsAt(127:133)pyautogui.__init__:getWindowsWithTitle(127:133)pyautogui.__init__:getAllWindows(127:133)pyautogui.__init__:getAllTitles(127:133)pyautogui.__init__:mouseInfo(110:116)
Manages the animation curves for smooth mouse movements, primarily using functions imported from the pytweening library or its internal fallback implementations.
Related Classes/Methods:
pyautogui.__init__:easeInQuad(30:48)pyautogui.__init__:easeOutQuad(30:48)pyautogui.__init__:easeInOutQuad(30:48)pyautogui.__init__:easeInCubic(30:48)pyautogui.__init__:easeOutCubic(30:48)pyautogui.__init__:easeInOutCubic(30:48)pyautogui.__init__:easeInQuart(30:48)pyautogui.__init__:easeOutQuart(30:48)pyautogui.__init__:easeInOutQuart(30:48)pyautogui.__init__:easeInQuint(30:48)pyautogui.__init__:easeOutQuint(30:48)pyautogui.__init__:easeInOutQuint(30:48)pyautogui.__init__:easeInSine(30:48)pyautogui.__init__:easeOutSine(30:48)pyautogui.__init__:easeInOutSine(30:48)pyautogui.__init__:easeInExpo(30:48)pyautogui.__init__:easeOutExpo(30:48)pyautogui.__init__:easeInOutExpo(30:48)pyautogui.__init__:easeInCirc(30:48)pyautogui.__init__:easeOutCirc(30:48)pyautogui.__init__:easeInOutCirc(30:48)pyautogui.__init__:easeInElastic(30:48)pyautogui.__init__:easeOutElastic(30:48)pyautogui.__init__:easeInOutElastic(30:48)pyautogui.__init__:easeInBack(30:48)pyautogui.__init__:easeOutBack(30:48)pyautogui.__init__:easeInOutBack(30:48)pyautogui.__init__:easeInBounce(30:48)pyautogui.__init__:easeOutBounce(30:48)pyautogui.__init__:easeInOutBounce(30:48)