FWIW I used sikuli(x) and found it very useful, but I have a chronic allergy to Java[1], so I've been re-implementing the same API in pure Python --> https://github.com/shish/sikulpy

[1] more specifically, I found sikuli scripts pretty painful to debug, since neither java debuggers nor python debuggers seem to work quite right.