Further to comment above, stating that Python is "nice to have", rather than "must have", I strongly urge you to use AutoIt.
Much as I enjoy Python coding myself, I always use AutoIt for Windows GUI automation tasks.
You can use it as a macro recorder/playback functionality. You can tell it to click x=75, y=100, then click x=150, y=250.
But the beauty is that you can code things like (this is pseudo-code)
- wait for a window with the title "notepad" to appear
- when it does, look for a menu called "File" and activate it
- look for a sub-menu1 titled "Open" and click it
- simulate keyboard input for "myfile.txt" and find and click the "Ok" button
The beauty of this is that your GUI layout can change and the scripts will still work.
You can also use the IDE to design GUIs for your AutoIt apps.
It is a mature, well tested, well documented system, and easy to learn. There is even an O'Reilly book.
It's free, and:
Easy to learn BASIC-like syntax
Simulate keystrokes and mouse movements
Manipulate windows and processes
Interact with all standard windows controls
Scripts can be compiled into standalone executables
Create Graphical User Interfaces (GUIs)
COM support
Regular expressions
Directly call external DLL and Windows API functions
Scriptable RunAs functions
Detailed helpfile and large community-based support forums
Compatible with Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2
Unicode and x64 support
Digitally signed for peace of mind
Works with Windows Vista’s User Account Control (UAC)
Here's a simple sample script from the website:
Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("This is some text.")
WinClose("Untitled - Notepad")
WinWaitActive("Notepad", "Save")
;WinWaitActive("Notepad", "Do you want to save") ; When running under Windows XP
Send("!n")