{{ transformations:CallPythonAction.png}}
====== CALL PYTHON ======
Category: Workflow / External\\
\\
=====Description=====
The action executes the specified Python script. For more details, read [[python:start|Using Python in EasyMorph]].
\\
===== Capabilities =====
* Executing a Python script from an EasyMorph workflow
* Obtaining the workflow parameters in the Python script
* Obtaining the input dataset of the "Call Python" action in the Python script
* Returning a result dataset from the Python script as the action's output
* Setting workflow status messages from the Python script
* Monitoring workflow cancellation requests in the script
* Generating EasyMorph warnings
\\
=====Action settings=====
^ Setting ^ Description ^
|Script*|Browse to and select the Python script to run.|
* Setting can be specified using a [[:parameters|parameter]].\\
\\
====Settings settings====
^ Setting ^ Description ^
|Pass the input dataset to script|Select to pass the current dataset (as of this action) to the Python script.|
|Mode|Choose how EasyMorph will handle return data (if any). Options: //Don't return anything// (nothing is returned to EasyMorph), //Return output dataset// (the returned dataset becomes the new current dataset), or //Capture errors and continue// (return any script errors and continue the workflow). |
|Don't auto-run this action as the script has side-effects |Select this to manually run this action (if the script can/does affect external resources). |
\\
====Python settings====
^ Setting ^ Description ^
|Use Python|Choose whether to run the script within a virtual environment (Option: //VENV//) or not (Option: //Default//). If VENV is selected, browse to and select the folder it is contained in. |
|Working directory|Choose the script's working directory. Options: //Current project's directory// (the folder containing the project's .morph file), //Python script's directory// (the folder that contains the Python script), or //Other//* (browse to and select, or create, the work folder). |
|Arguments*|Enter any optional command-line arguments to pass to the script. |
|Stdout|Select //Convert stdout into status messages// to display the script's output stream as status messages during the workflow run. |
* Setting can be specified using a [[:parameters|parameter]].\\
\\
=====See also=====
* [[transformations:runprogram|Run program]]
* [[transformations:iterateprogram|Iterate external program]]