kaldesai commented on code in PR #600:
URL:
https://github.com/apache/incubator-kie-kogito-docs/pull/600#discussion_r1531863318
##########
serverlessworkflow/modules/ROOT/pages/use-cases/advanced-developer-use-cases/integrations/custom-functions-python.adoc:
##########
@@ -0,0 +1,115 @@
+= Invoking Python from {product_name}
+:compat-mode!:
+// Metadata:
+:description: Describe Python execution capabilities
+:keywords: kogito, workflow, quarkus, serverless, python, AI
+
+This document describes how to integrate python scripts and functions into
your workflow using {product_name} custom functions. The code appearing in this
document is copied from
link:{kogito_sw_examples_url}/serverless-workflow-python-quarkus[`serverless-workflow-python-quarkus`]
example application and
link:{kogito_runtimes_url}/quarkus/addons/python/integration-tests/src/main/resources/PythonService.sw.json[PythonService]
integration test.
+
+== Enable Python support
+
+ To enable Python support, you need to the python add-on dependency to your
{prouct_name} module `pom.xml` file
+
+[source,xml]
+----
+<dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-python</artifactId>
+</dependency>
+----
+
+== Invoking embedded Python script.
+
+{product_name} supports of execution python script in the same memory address
than the running workflow.
+
+To invoke a python script the first step is to define a custom python function
at the beginning of the flow.
+
+[source,json]
+----
+ "functions": [
+ {
+ "name": "python",
+ "type": "custom",
+ "operation": "script:python"
+ }
+ ]
+----
+
+Once done, you can use that function several times to execute arbitrary python
code. The python code is provided as argument of the function call through
`script` property.
+
+[source,json]
+----
+"functionRef":
+ "refName": "python",
+ "arguments": {
+ "script": "import numpy as np"
+ }
+ }
+----
+
+Previous snippet imports link:https://numpy.org/[numpy] library. The same
python function can be invoked again to generate an array containing three
random numbers between 0 and 10.
+
+[source,json]
+----
+"functionRef": {
+ "refName": "python",
+ "arguments": {
+ "script": "rng = np.random.default_rng().integers(low=0,high=10,size=3)"
+ }
+ }
+----
+
+To access the result of the embedded python invocation, {product_name}
provides an special context variable: `$WORKFLOW.python`. Therefore, if you
want to set `rng` variable from previous script as `output` property of the
workflow model, you write
Review Comment:
```suggestion
To access the result of the embedded python invocation, {product_name}
provides a special context variable: `$WORKFLOW.python`. Therefore, if you want
to set the `rng` variable from the previous script as the `output` property of
the workflow model, you write
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]