Source code for src.base.kafka.records

"""Value objects passed between Kafka consumers and producers."""

from dataclasses import dataclass, field


[docs] @dataclass(frozen=True) class ConsumedKafkaMessage: """Decoded Kafka record plus the source offset required for EoS.""" key: str | None value: str | None topic: str partition: int offset: int raw_message: object | None = field(default=None, repr=False, compare=False)
[docs] @dataclass(frozen=True) class KafkaProduceRecord: """One output record queued for a Kafka transaction.""" topic: str data: str key: str | None = None