summaryrefslogtreecommitdiff
path: root/kafka/serializer
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-12-17 17:06:46 -0800
committerDana Powers <dana.powers@gmail.com>2016-12-17 17:06:46 -0800
commit64347bd9faa0a314c3c49b48df941d3022f9e311 (patch)
treef6957cb1f95a7f2a951123975b205323d6d70618 /kafka/serializer
parent07e09c1c2ec6787fc7e4f3c2578d31b4a15d20bc (diff)
downloadkafka-python-serialize_interface.tar.gz
Add kafka.serializer interfacesserialize_interface
Diffstat (limited to 'kafka/serializer')
-rw-r--r--kafka/serializer/__init__.py3
-rw-r--r--kafka/serializer/abstract.py31
2 files changed, 34 insertions, 0 deletions
diff --git a/kafka/serializer/__init__.py b/kafka/serializer/__init__.py
new file mode 100644
index 0000000..c08cffe
--- /dev/null
+++ b/kafka/serializer/__init__.py
@@ -0,0 +1,3 @@
+from __future__ import absolute_import
+
+from .abstract import Serializer, Deserializer
diff --git a/kafka/serializer/abstract.py b/kafka/serializer/abstract.py
new file mode 100644
index 0000000..18ad8d6
--- /dev/null
+++ b/kafka/serializer/abstract.py
@@ -0,0 +1,31 @@
+from __future__ import absolute_import
+
+import abc
+
+
+class Serializer(object):
+ __meta__ = abc.ABCMeta
+
+ def __init__(self, **config):
+ pass
+
+ @abc.abstractmethod
+ def serialize(self, topic, value):
+ pass
+
+ def close(self):
+ pass
+
+
+class Deserializer(object):
+ __meta__ = abc.ABCMeta
+
+ def __init__(self, **config):
+ pass
+
+ @abc.abstractmethod
+ def deserialize(self, topic, bytes_):
+ pass
+
+ def close(self):
+ pass