# Python Packages

<table><thead><tr><th width="317">Package</th><th>Definition</th></tr></thead><tbody><tr><td>py-runner</td><td>Main library (rierino_runner) for executing main Python processes, including ProcessorRunner and Py4JGateway as main entry points</td></tr><tr><td>py-util</td><td>Core library (rierino_util) for common file, object, jmespath and input/output processing functions, as well as basic Runner executions</td></tr><tr><td>py-media</td><td>Library (rierino_media) for image &#x26; video processing functions, including MediaEventProcess and MediaStatsEventProcess</td></tr><tr><td>py-dq</td><td>Library (rierino_dq) for data quality assessment functions, including DQEventHandler</td></tr><tr><td>py-tensor</td><td>Library (rierino_tensor) for training Tensorflow models, including TFModelProcess</td></tr><tr><td>py-spark</td><td>Library (rierino_spark) for training Spark jobs, including SparkModelProcess</td></tr><tr><td><p>py-custom</p><p>(Deprecated)</p></td><td><p>Library for executing custom jobs</p><p>(Deprecated in favor of more generic py-runner functions)</p></td></tr></tbody></table>

These packages can be used stand-alone or integrated into overall architecture using one of the following main approaches, based on the use case:

## Integration into Sagas

[Py4JEventHandler](broken://spaces/cnDk3J1AzTgg2NFrGPlh/pages/PpEVmUyz1AQjjKom7mlO) can be used to execute Python based EventHandler actions (such as rierino\_dq.DQEventHandler or rierino\_runner.ProcessEventHandler) from Java based runners, using extra container configurations in [helm charts](/installation/artifacts/helm-charts/application-charts.md).

Sample values to pass on to runner helm charts to include Python container are as follows:

* **useExtraContainer:** true
* **contents:** \[ {section: 'extra.sh', content: 'pip install git+<https://github.com/rierino-open/py-dq.git@1.0.0'}> ]

With the default chart values, this configuration adds an extra container with py-dynamic:dynamic image, installs py-dq library and runs Py4JGateway to communicate with Java container over local gateway using [ProcessPython](broken://spaces/cnDk3J1AzTgg2NFrGPlh/pages/PpEVmUyz1AQjjKom7mlO#process-processpython) action.

More details on Python based EventHandlers can be found [here](broken://spaces/cnDk3J1AzTgg2NFrGPlh/pages/PpEVmUyz1AQjjKom7mlO#python-modules).

## Batch Job Executions

Stand-alone Python jobs can be also executed using these libraries, typically deployed as Jobs or CronJobs using [helm charts](/installation/artifacts/helm-charts/batch-charts.md), although it is also possible to execute them through command line. These jobs are executed using Python based Runners (such as rierino\_util.Runner or rierino\_runner.ProcessorRunner).

Sample values to pass on to job helm charts to trigger Python processes are as follows:

* **pyRepo:** rierino-open/py-runner
* **pyMainModule:** rierino\_util.ProcessorRunner --package=rierino\_runner.processor --module=RestProcessor --internal=true --url=<https://admin-api.xxx.rierinoclient.com/api/request/rpc/Ping> --token={API\_KEY}

With the default chart values, this configuration triggers ProcessorRunner which will run RestProcessor to call an internal API.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rierino.com/installation/artifacts/python-packages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
