dgkafka 1.0.0a12__py3-none-any.whl → 1.0.0a14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
dgkafka/avro_consumer.py CHANGED
@@ -38,7 +38,7 @@ class AvroKafkaConsumer(KafkaConsumer):
38
38
  self.logger.error(f"[x] Failed to initialize Avro consumer: {ex}")
39
39
  raise
40
40
 
41
- def consume(self, num_messages: int = 1, timeout: float = 1.0, **kwargs: Any) -> Iterator[str | bytes | Message | None]:
41
+ def consume(self, num_messages: int = 1, timeout: float = 1.0, decode_: bool = False, **kwargs: Any) -> Iterator[str | bytes | Message | None]:
42
42
  """
43
43
  Consume Avro-encoded messages.
44
44
 
@@ -57,7 +57,7 @@ class AvroKafkaConsumer(KafkaConsumer):
57
57
  try:
58
58
  if msg is None:
59
59
  continue
60
- yield msg.value()
60
+ yield msg.value() if decode_ else msg
61
61
  except SerializerError as e:
62
62
  self.logger.error(f"[x] Avro deserialization failed: {e}")
63
63
  yield msg # Return raw message on deserialization error
dgkafka/consumer.py CHANGED
@@ -76,14 +76,14 @@ class KafkaConsumer:
76
76
  consumer.seek(topic_partition)
77
77
  self.logger.info(f"[*] Assigned to topic '{topic}' partition {partition} with offset {offset}")
78
78
 
79
- def consume(self, num_messages: int = 1, timeout: float = 1.0, decode_utf8: bool = False) -> Iterator[Message | str]:
79
+ def consume(self, num_messages: int = 1, timeout: float = 1.0, decode_: bool = False) -> Iterator[Message | str]:
80
80
  """Consume messages"""
81
81
  consumer = self._ensure_consumer()
82
82
 
83
83
  for _ in range(num_messages):
84
84
  if (msg := self._consume(consumer, timeout)) is None:
85
85
  continue
86
- yield msg.value().decode('utf-8') if decode_utf8 else msg
86
+ yield msg.value().decode('utf-8') if decode_ else msg
87
87
 
88
88
  def _consume(self, consumer: Consumer, timeout: float) -> Message | None:
89
89
  msg = consumer.poll(timeout)
dgkafka/producer.py CHANGED
@@ -106,7 +106,8 @@ class KafkaProducer:
106
106
  else: # Assume dict-like object
107
107
  try:
108
108
  import json
109
- value = json.dumps(message).encode('utf-8')
109
+ dthandler = lambda obj: obj.isoformat() if isinstance(obj, datetime) or isinstance(obj, date) else None
110
+ value = json.dumps(message, ensure_ascii=False, default=dthandler, indent=4).encode('utf-8')
110
111
  except Exception as ex:
111
112
  self.logger.error(f"[x] Failed to serialize message: {ex}")
112
113
  raise
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dgkafka
3
- Version: 1.0.0a12
3
+ Version: 1.0.0a14
4
4
  Summary: Kafka clients
5
5
  Home-page: https://gitlab.com/gng-group/dgkafka.git
6
6
  Author: Malanris
@@ -0,0 +1,13 @@
1
+ dgkafka/__init__.py,sha256=fnqVZROyHXipdmhqZaa9XUjvQe795JJKFakwTndAiIw,286
2
+ dgkafka/avro_consumer.py,sha256=PG-hUTSosNvOQzFx6wvvqQe-pGw6-1X-uPD28FIhCrQ,2917
3
+ dgkafka/avro_producer.py,sha256=EJiPjLYNnwXZwcg1mo2RQOw0s1bfiJpwnNFhxywSl-k,4667
4
+ dgkafka/config.py,sha256=TmfB0IOauSPr4B8InOZdoebAEGeabs7HZUXuozAFFlk,3828
5
+ dgkafka/consumer.py,sha256=C91vsFOl9xhUaXSiM0MCPUcKvJ4fsGe2H0sC8hw2fW0,4418
6
+ dgkafka/errors.py,sha256=PaH46tXameS--hrrUXKhQkZlBHvMSMPmjhVeRkmFvV0,95
7
+ dgkafka/json_consumer.py,sha256=7Gzn7C9WpyCTPDV6eFDugAx5gC9vdV-HrTh3Nv--zIE,1152
8
+ dgkafka/producer.py,sha256=sumaOTzz8OJ2i_hB9eb-sBwQhGHcKAcMos-hKmR1UlQ,5580
9
+ dgkafka-1.0.0a14.dist-info/licenses/LICENSE,sha256=pAZXnNE2dxxwXFIduGyn1gpvPefJtUYOYZOi3yeGG94,1068
10
+ dgkafka-1.0.0a14.dist-info/METADATA,sha256=oyeiWv_jO6m5AqyzEmasmIgOt9GfuIyZl6iFC_YMPrg,6062
11
+ dgkafka-1.0.0a14.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
12
+ dgkafka-1.0.0a14.dist-info/top_level.txt,sha256=GyNrxOh7IPdL0t2SxH8DWxg3fUma-ezQ1Kz4zIr2B7U,8
13
+ dgkafka-1.0.0a14.dist-info/RECORD,,
@@ -1,13 +0,0 @@
1
- dgkafka/__init__.py,sha256=fnqVZROyHXipdmhqZaa9XUjvQe795JJKFakwTndAiIw,286
2
- dgkafka/avro_consumer.py,sha256=By2QWA2BX6ih40x2w3nI1_bv4XtghoVeLcSBNcpJByw,2874
3
- dgkafka/avro_producer.py,sha256=EJiPjLYNnwXZwcg1mo2RQOw0s1bfiJpwnNFhxywSl-k,4667
4
- dgkafka/config.py,sha256=TmfB0IOauSPr4B8InOZdoebAEGeabs7HZUXuozAFFlk,3828
5
- dgkafka/consumer.py,sha256=JoaNnAbCbhSjRl4X4ikReC5Ey5XamJS2DRPyYnP_RRM,4426
6
- dgkafka/errors.py,sha256=PaH46tXameS--hrrUXKhQkZlBHvMSMPmjhVeRkmFvV0,95
7
- dgkafka/json_consumer.py,sha256=7Gzn7C9WpyCTPDV6eFDugAx5gC9vdV-HrTh3Nv--zIE,1152
8
- dgkafka/producer.py,sha256=CupD0qIoJh13dX8A3cZHctWQKqD8m1WRurlTGiIsCoA,5411
9
- dgkafka-1.0.0a12.dist-info/licenses/LICENSE,sha256=pAZXnNE2dxxwXFIduGyn1gpvPefJtUYOYZOi3yeGG94,1068
10
- dgkafka-1.0.0a12.dist-info/METADATA,sha256=VjevxhR7q8pnTp0ivTPOKaIxI2FAQTJPr_X0jHv8ayc,6062
11
- dgkafka-1.0.0a12.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
12
- dgkafka-1.0.0a12.dist-info/top_level.txt,sha256=GyNrxOh7IPdL0t2SxH8DWxg3fUma-ezQ1Kz4zIr2B7U,8
13
- dgkafka-1.0.0a12.dist-info/RECORD,,