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.

Reply via email to