compile sikuli scripts, run exes?

Asked by eduardobedoya on 2017-07-18

Hi, long time don't use Sikuli, like 2 years now
does Sikuli now support compiling? I would like to compile my Sikuli scripts into a standallone executable exes, that could work on any windows 8.1 computer wo having sikuli installed. Also speed is key, I would like the scripts to run fast.

I read some stuff about that been available from Sikuli version 1.1.1 is that true???
I would like to script again in Sikuli, cuz all this time I've been using other paid packages with less powerfull img recognition tools, only due to compilation capabilities.
Thanks Advanced.

Question information

English Edit question
Sikuli Edit question
No assignee Edit question
Solved by:
Last query:
Last reply:
masuo (masuo-ohara) said : #1

There is following explanations in the docs.

For version 2 an application is planned as .exe based on Launch4J.

Mainly bacause of this major aspect SikuliX is a Java based application or library. Hence the usable artifacts are delivered as jar-files. Were possible the SikuliX IDE is delivered as application (currently Mac only, Windows .exe planned for version 2).

The usual approach, to reduce search time is to reduce the search region as much as possible to the area, one expects the target image to appear. Small images of some 10 pixels in search regions of some 1000 pixels are found within some 10 milliseconds or even faster.

eduardobedoya (gonnabdh) said : #2

Thanx Masuo,
Yes I know all about the image recognition behaviour, in Sikuli, AHK, and others.
what I meant by fast, is a way to make multiple scripts to be loaded fast, I remember a pseudo way to call many scripts (by hotkey) from a single Sikuli script, but the scripts just took too much time only to load (like 1.5 seconds), once loaded they run fast.
It really would be nice to have sikuli scripts to load fast as executables.
Is there any release date for Sikuli v2? any guess?
Thanks again, Thanks Advanced.

Best RaiMan (raimund-hocke) said : #3

SikuliX2 will start to be useable towards Oktober. But such special features will only be available beginning next year. There will never be a reliable roadmap though - I will always work without any pressure ;-)

If you want to have the most possible execution speed, you should program in Java.

With Python scripting you should switch to using Jython directly to run your scripts, so you have a chance to use all available features for speed optimization.

One ultimate strategy might be, to turn your scripts into Python modules/classes/functions, that then are imported at runtime, which transfers code eval time to the start of your main script.

eduardobedoya (gonnabdh) said : #4

Thanks RaiMan, that solved my question.