You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by sz...@apache.org on 2024/07/25 09:35:09 UTC
(nifi-minifi-cpp) 02/02: MINIFICPP-2432 Move the python processors to the examples directory
This is an automated email from the ASF dual-hosted git repository.
szaszm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 5a68530769b59968b5878faa3704cf1de3b90f51
Author: Ferenc Gerlits <fg...@gmail.com>
AuthorDate: Thu Jul 25 09:22:58 2024 +0000
MINIFICPP-2432 Move the python processors to the examples directory
Closes #1845
Signed-off-by: Marton Szasz <sz...@apache.org>
---
extensions/python/PYTHON.md | 8 +++--
.../google/SentimentAnalyzer.py | 0
.../h2o/ConvertDsToCsv.py | 0
.../h2o/h2o3/mojo/ExecuteH2oMojoScoring.py | 0
msi/WixWin.wsi.in | 35 +++++++++++-----------
5 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/extensions/python/PYTHON.md b/extensions/python/PYTHON.md
index ea3cfb87e..7d8849504 100644
--- a/extensions/python/PYTHON.md
+++ b/extensions/python/PYTHON.md
@@ -141,9 +141,10 @@ to the reference class name.
nifi.python.processor.dir=XXXX
-## Processors
-The python directory (extensions/pythonprocessors) contains implementations that will be available for flows if the required dependencies
-exist.
+## Sample processors
+The examples directory (pythonprocessor-examples in the source, or minifi-python-examples in the MiNiFi installation)
+contains sample python processors. Copy them to the minifi-python directory to make them available for flows. You may
+need to install the required dependencies, either on the system or in the virtual environment.
### Sentiment Analysis
@@ -151,6 +152,7 @@ The SentimentAnalysis processor will perform a Vader Sentiment Analysis. This re
pip install nltk
pip install VaderSentiment
+
## Using NiFi Python Processors
MiNiFi C++ supports the use of NiFi Python processors, that are inherited from the FlowFileTransform base class. To use these processors, copy the Python processor module to the nifi_python_processors subdirectory of the python directory. By default, the python directory is ${minifi_root}/minifi-python. To see how to write NiFi Python processors, please refer to the Python Developer Guide under the [Apache NiFi documentation](https://nifi.apache.org/documentation/v2/).
diff --git a/extensions/python/pythonprocessors/google/SentimentAnalyzer.py b/extensions/python/pythonprocessor-examples/google/SentimentAnalyzer.py
similarity index 100%
rename from extensions/python/pythonprocessors/google/SentimentAnalyzer.py
rename to extensions/python/pythonprocessor-examples/google/SentimentAnalyzer.py
diff --git a/extensions/python/pythonprocessors/h2o/ConvertDsToCsv.py b/extensions/python/pythonprocessor-examples/h2o/ConvertDsToCsv.py
similarity index 100%
rename from extensions/python/pythonprocessors/h2o/ConvertDsToCsv.py
rename to extensions/python/pythonprocessor-examples/h2o/ConvertDsToCsv.py
diff --git a/extensions/python/pythonprocessors/h2o/h2o3/mojo/ExecuteH2oMojoScoring.py b/extensions/python/pythonprocessor-examples/h2o/h2o3/mojo/ExecuteH2oMojoScoring.py
similarity index 100%
rename from extensions/python/pythonprocessors/h2o/h2o3/mojo/ExecuteH2oMojoScoring.py
rename to extensions/python/pythonprocessor-examples/h2o/h2o3/mojo/ExecuteH2oMojoScoring.py
diff --git a/msi/WixWin.wsi.in b/msi/WixWin.wsi.in
index 0c0c38015..85733f1e5 100644
--- a/msi/WixWin.wsi.in
+++ b/msi/WixWin.wsi.in
@@ -393,23 +393,6 @@ ${WIX_EXTRA_COMPONENTS}
<?ifdef INCLUDE_PYTHON_PROCESSORS?>
<Directory Id="INSTALLPYTHONDIR" Name="minifi-python">
- <Directory Id="INSTALLGOOGLEDIR" Name="google">
- <Component Id="PythonProcessorGoogleFiles" Guid="90b898a9-76fb-4888-a4aa-adcd22097863">
- <File Id="Google_SentimentAnalyzer" Name="SentimentAnalyzer.py" KeyPath="yes" Source="pythonprocessors\google\SentimentAnalyzer.py"/>
- </Component>
- </Directory>
- <Directory Id="INSTALLH2ODIR" Name="h2o">
- <Component Id="PythonProcessorH2oFiles" Guid="b290aeb3-c67a-4cd1-a0a4-1ba049a2e44e">
- <File Id="H2o_ConvertDsToCsv" Name="ConvertDsToCsv.py" KeyPath="yes" Source="pythonprocessors\h2o\ConvertDsToCsv.py"/>
- </Component>
- <Directory Id="INSTALLH2O3DIR" Name="h2o3">
- <Directory Id="INSTALLMOJODIR" Name="mojo">
- <Component Id="PythonProcessorMojoFiles" Guid="d2b803da-1cd1-4925-802b-19f3e09fc0f7">
- <File Id="H2o_ExecuteH2oMojoScoring" Name="ExecuteH2oMojoScoring.py" KeyPath="yes" Source="pythonprocessors\h2o\h2o3\mojo\ExecuteH2oMojoScoring.py"/>
- </Component>
- </Directory>
- </Directory>
- </Directory>
<Directory Id="INSTALLNIFIAPIDIR" Name="nifiapi">
<Component Id="PythonProcessorNifiApiFiles" Guid="a9cb7b7b-e66d-4e32-9115-eab4aa980124">
<File Id="NifiApi_flowfiletransform" Name="flowfiletransform.py" KeyPath="no" Source="pythonprocessors\nifiapi\flowfiletransform.py"/>
@@ -440,10 +423,28 @@ ${WIX_EXTRA_COMPONENTS}
<File Id="Examples_RemoveFlowFile" Name="RemoveFlowFile.py" KeyPath="no" Source="pythonprocessor-examples\RemoveFlowFile.py"/>
<File Id="Examples_SentimentAnalysis" Name="SentimentAnalysis.py" KeyPath="no" Source="pythonprocessor-examples\SentimentAnalysis.py"/>
</Component>
+ <Directory Id="INSTALLGOOGLEDIR" Name="google">
+ <Component Id="PythonProcessorGoogleFiles" Guid="90b898a9-76fb-4888-a4aa-adcd22097863">
+ <File Id="Google_SentimentAnalyzer" Name="SentimentAnalyzer.py" KeyPath="yes" Source="pythonprocessor-examples\google\SentimentAnalyzer.py"/>
+ </Component>
+ </Directory>
+ <Directory Id="INSTALLH2ODIR" Name="h2o">
+ <Component Id="PythonProcessorH2oFiles" Guid="b290aeb3-c67a-4cd1-a0a4-1ba049a2e44e">
+ <File Id="H2o_ConvertDsToCsv" Name="ConvertDsToCsv.py" KeyPath="yes" Source="pythonprocessor-examples\h2o\ConvertDsToCsv.py"/>
+ </Component>
+ <Directory Id="INSTALLH2O3DIR" Name="h2o3">
+ <Directory Id="INSTALLMOJODIR" Name="mojo">
+ <Component Id="PythonProcessorMojoFiles" Guid="d2b803da-1cd1-4925-802b-19f3e09fc0f7">
+ <File Id="H2o_ExecuteH2oMojoScoring" Name="ExecuteH2oMojoScoring.py" KeyPath="yes" Source="pythonprocessor-examples\h2o\h2o3\mojo\ExecuteH2oMojoScoring.py"/>
+ </Component>
+ </Directory>
+ </Directory>
+ </Directory>
</Directory>
<?endif?>
</Directory>
+
</DirectoryRef>
</Fragment>