This is an automated email from the ASF dual-hosted git repository. mmerli pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git
The following commit(s) were added to refs/heads/master by this push: new 9333202 Moved Python Api to a functions module inside pulsar client python module (#1375) 9333202 is described below commit 933320223fc281642bdaff3e9b2aa7314c5754b4 Author: Sanjeev Kulkarni <sanjee...@gmail.com> AuthorDate: Tue Mar 13 09:22:35 2018 -0700 Moved Python Api to a functions module inside pulsar client python module (#1375) --- .../api-python => pulsar-client-cpp/python/functions}/__init__.py | 2 +- .../api-python => pulsar-client-cpp/python/functions}/context.py | 0 .../python/functions/function.py | 6 +++--- .../api-python => pulsar-client-cpp/python/functions}/serde.py | 0 pulsar-client-cpp/python/pulsar.py | 3 +++ pulsar-functions/instance/src/main/python/contextimpl.py | 4 ++-- pulsar-functions/instance/src/main/python/python_instance_main.py | 2 +- pulsar-functions/instance/src/main/python/util.py | 2 +- pulsar-functions/python-examples/exclamation.py | 4 ++-- pulsar-functions/python-examples/logfunction.py | 4 ++-- pulsar-functions/python-examples/thumbnailer.py | 4 ++-- pulsar-functions/runtime/pom.xml | 3 +-- 12 files changed, 18 insertions(+), 16 deletions(-) diff --git a/pulsar-functions/api-python/__init__.py b/pulsar-client-cpp/python/functions/__init__.py similarity index 96% rename from pulsar-functions/api-python/__init__.py rename to pulsar-client-cpp/python/functions/__init__.py index d70b15f..b14a932 100644 --- a/pulsar-functions/api-python/__init__.py +++ b/pulsar-client-cpp/python/functions/__init__.py @@ -18,4 +18,4 @@ # under the License. # -# -*- encoding: utf-8 -*- \ No newline at end of file +# -*- encoding: utf-8 -*- diff --git a/pulsar-functions/api-python/context.py b/pulsar-client-cpp/python/functions/context.py similarity index 100% rename from pulsar-functions/api-python/context.py rename to pulsar-client-cpp/python/functions/context.py diff --git a/pulsar-functions/api-python/pulsar_function.py b/pulsar-client-cpp/python/functions/function.py similarity index 93% rename from pulsar-functions/api-python/pulsar_function.py rename to pulsar-client-cpp/python/functions/function.py index 1226dd4..dde92b8 100644 --- a/pulsar-functions/api-python/pulsar_function.py +++ b/pulsar-client-cpp/python/functions/function.py @@ -37,15 +37,15 @@ # specific language governing permissions and limitations # under the License. # -"""pulsar_function.py: This is the core interface of the function api. +"""function.py: This is the core interface of the function api. # The process method is called for every message of the input topic of the # function. The incoming input bytes are deserialized using the serde. # The process function can optionally emit an output """ from abc import abstractmethod -class PulsarFunction(object): - """Interface for Heron Metric""" +class Function(object): + """Interface for Pulsar Function""" @abstractmethod def process(self, input, context): """Process input message""" diff --git a/pulsar-functions/api-python/serde.py b/pulsar-client-cpp/python/functions/serde.py similarity index 100% rename from pulsar-functions/api-python/serde.py rename to pulsar-client-cpp/python/functions/serde.py diff --git a/pulsar-client-cpp/python/pulsar.py b/pulsar-client-cpp/python/pulsar.py index a4c6c87..b6e5faf 100644 --- a/pulsar-client-cpp/python/pulsar.py +++ b/pulsar-client-cpp/python/pulsar.py @@ -103,6 +103,9 @@ import _pulsar from _pulsar import Result, CompressionType, ConsumerType, PartitionsRoutingMode # noqa: F401 +from functions.function import Function +from functions.context import Context +from functions.serde import SerDe, IdentitySerDe, PickleSerDe class MessageId: """ diff --git a/pulsar-functions/instance/src/main/python/contextimpl.py b/pulsar-functions/instance/src/main/python/contextimpl.py index b021421..6a3a5da 100644 --- a/pulsar-functions/instance/src/main/python/contextimpl.py +++ b/pulsar-functions/instance/src/main/python/contextimpl.py @@ -26,7 +26,7 @@ import time import os -from pulsarfunction import context +import pulsar import util import InstanceCommunication_pb2 @@ -46,7 +46,7 @@ class AccumulatedMetricDatum(object): if value < self.min: self.min = value -class ContextImpl(context.Context): +class ContextImpl(pulsar.Context): def __init__(self, instance_config, logger, pulsar_client, user_code, consumers): self.instance_config = instance_config self.log = logger diff --git a/pulsar-functions/instance/src/main/python/python_instance_main.py b/pulsar-functions/instance/src/main/python/python_instance_main.py index 4fe1641..0bf02b0 100644 --- a/pulsar-functions/instance/src/main/python/python_instance_main.py +++ b/pulsar-functions/instance/src/main/python/python_instance_main.py @@ -51,7 +51,7 @@ def main(): signal.signal(signal.SIGHUP, atexit_function) signal.signal(signal.SIGINT, atexit_function) - parser = argparse.ArgumentParser(description='Heron Python Instance') + parser = argparse.ArgumentParser(description='Pulsar Functions Python Instance') parser.add_argument('--function_classname', required=True, help='Function Class Name') parser.add_argument('--py', required=True, help='Full Path of Function Code File') parser.add_argument('--name', required=True, help='Function Name') diff --git a/pulsar-functions/instance/src/main/python/util.py b/pulsar-functions/instance/src/main/python/util.py index efa238d..643cbac 100644 --- a/pulsar-functions/instance/src/main/python/util.py +++ b/pulsar-functions/instance/src/main/python/util.py @@ -29,7 +29,7 @@ import sys import log Log = log.Log -PULSARFUNCTIONAPIROOT = 'pulsarfunction' +PULSARFUNCTIONAPIROOT = 'functions' def import_class(from_path, full_class_name): kclass = import_class_from_path(from_path, full_class_name) diff --git a/pulsar-functions/python-examples/exclamation.py b/pulsar-functions/python-examples/exclamation.py index d67ede9..d8a14f7 100755 --- a/pulsar-functions/python-examples/exclamation.py +++ b/pulsar-functions/python-examples/exclamation.py @@ -19,9 +19,9 @@ # -from pulsarfunction import pulsar_function +from pulsar import Function -class Exclamation(pulsar_function.PulsarFunction): +class Exclamation(Function): def __init__(self): pass diff --git a/pulsar-functions/python-examples/logfunction.py b/pulsar-functions/python-examples/logfunction.py index 4c59124..504cdc5 100755 --- a/pulsar-functions/python-examples/logfunction.py +++ b/pulsar-functions/python-examples/logfunction.py @@ -19,9 +19,9 @@ # -from pulsarfunction import pulsar_function +from pulsar import Function -class LogFunction(pulsar_function.PulsarFunction): +class LogFunction(Function): def __init__(self): pass diff --git a/pulsar-functions/python-examples/thumbnailer.py b/pulsar-functions/python-examples/thumbnailer.py index f5124ca..3448aac 100755 --- a/pulsar-functions/python-examples/thumbnailer.py +++ b/pulsar-functions/python-examples/thumbnailer.py @@ -18,10 +18,10 @@ # under the License. # -from pulsarfunction import pulsar_function +from pulsar import Function from PIL import Image -class Thumbnailer(pulsar_function.PulsarFunction): +class Thumbnailer(Function): def process(self, input, context): im = Image.frombytes(input) diff --git a/pulsar-functions/runtime/pom.xml b/pulsar-functions/runtime/pom.xml index b671182..4b2f16f 100644 --- a/pulsar-functions/runtime/pom.xml +++ b/pulsar-functions/runtime/pom.xml @@ -70,9 +70,8 @@ <tasks> <echo>building python instance</echo> <mkdir dir="${basedir}/target/python-instance"/> - <mkdir dir="${basedir}/target/python-instance/pulsarfunction"/> <copydir src="${basedir}/../instance/src/main/python" dest="${basedir}/target/python-instance"/> - <copydir src="${basedir}/../api-python" dest="${basedir}/target/python-instance/pulsarfunction"/> + <copydir src="${basedir}/../../pulsar-client-cpp/python" dest="${basedir}/target/python-instance"/> </tasks> </configuration> </execution> -- To stop receiving notification emails like this one, please contact mme...@apache.org.