Based on the selection, the component uses either a natively installed Python version or the Java implementation Jython. This approach was selected on purpose because many users use their own specific modules and want to use Python for this, others are satisfied with the standard Python operations and need a faster implementation which is Jython.
Limitations:
Only single file scripts are allowed, because the user's script contents are converted into a temporary "wrapped" script, executed in the executor’s temporary directory. It is currently not possible to copy satellite files like modules or input data files to the directory where the script is residing.
The execution speed of the Python implementation is dominated by the initial start-up time of the Python interpreter (or virtual machine, just-in-time compiler). Each script execution first wraps the user script into a temporary script file, then starts the Python executable in a new process and after that, processes the output bindings.
Advantages of native Python:
100% binary compatibility
Exotic setups are supported automatically, including third-party modules, binary
libraries, cpython and so on. Users gain the benefit of using
additionally installed Python modules like <<numpy>> ,
<<scipy>> or <<mysqldb>>
Self-compiled Python interpreters with binary extensions can be used
No problems with library indexing as e.g. in Jython