# 
# RiskScape™ Copyright New Zealand Institute for Earth Science Limited
# (Earth Sciences New Zealand) is distributed for research purposes only
# under the terms of AGPLv3.
# 
# RiskScape™ Copyright 2026 New Zealand Institute for Earth Science
# Limited (Earth Sciences New Zealand). All rights reserved. Source code
# available under the AGPLv3.
# 
# This program is free software: you can redistribute it and/or modify it under
#  the terms of the GNU Affero General Public License as published by the Free
#  Software Foundation, either version 3 of the License, or (at your option) any
#  later version.
# 
# This program is distributed for RESEARCH PURPOSES ONLY, in the hope that it will
# be useful for research and education initiatives.
# 
# If you are not a researcher, or you are a researcher who wishes to use this
# program on terms other than AGPLv3 (including those who wish to restrict the
# distribution of any source code created using this program), please contact:
# https://riskscape.org.nz
# 
# This program is distributed WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Affero General Public License for more details.  You should have received a copy
# of the GNU Affero General Public License along with this program.  If not, see
# <http://www.gnu.org/licenses/>.
# 
# By way of summary only, under the AGPLv3:
#     • Permissions of this strongest copyleft license are conditioned
#       on making available complete source code of licensed works and
#       modifications, which include larger works using a licensed work,
#       under the same license.
#     • Copyright and license notices must be preserved.
#     • Contributors provide an express grant of patent rights.
#     • When a modified version is used to provide a service over a
#       network, the complete source code of the modified version must be made
#       available.
# 
nz.org.riskscape.cpython.CPythonExecStep.description = \
  Pass execution of the pipeline to and from a special dataset-processing CPython function.  Whereas a 'normal' \
  CPython function is called once per tuple, using the `python` step allows all the tuples to be collected in the \
  function and then any number of tuples returned.  See the documentation online for more detailed examples.

nz.org.riskscape.cpython.CPythonExecStep.params.script = \
  The location of the python script to execute, e.g. `functions/count_rows.py`.

nz.org.riskscape.cpython.CPythonExecStep.params.result-type = \
  A type definition of the rows your function will yield, e.g. `struct(count: integer, max: floating)`.

nz.org.riskscape.cpython.CPythonExecStep.params.parameters = \
  An optional dictionary of parameters to pass to the function in the second argument.
