base.kafka package#
Public Kafka implementation package.
- class base.kafka.BufferedKafkaProduceHandler[source]#
Bases:
SimpleKafkaProduceHandlerAsynchronous producer with bounded local backpressure.
- class base.kafka.ConsumedKafkaMessage(key: str | None, value: str | None, topic: str, partition: int, offset: int, raw_message: object | None = None)[source]#
Bases:
objectDecoded Kafka record plus the source offset required for EoS.
- class base.kafka.ExactlyOnceKafkaConsumeHandler(topics: str | list[str])[source]#
Bases:
KafkaConsumeHandlerConsumer that exposes only committed transactional records.
- class base.kafka.ExactlyOnceKafkaProduceHandler[source]#
Bases:
KafkaProduceHandlerTransactional producer that atomically commits outputs and input offsets.
- transaction_batch(consumer: KafkaConsumeHandler, consumed_messages: Sequence[ConsumedKafkaMessage]) Iterator[None][source]#
Collect outputs and commit them with source offsets on clean exit.
- class base.kafka.KafkaConsumeHandler(topics: str | list[str])[source]#
Bases:
KafkaSerializationMixin,KafkaHandlerCommon connection, batching, decoding, and offset behavior.
- commit(consumed_messages: Sequence[ConsumedKafkaMessage] | None = None) None[source]#
Commit an explicit batch or the latest record from
consume.
- consume_batch(max_messages: int | None = None, timeout_ms: int | None = None) list[ConsumedKafkaMessage][source]#
Fetch a bounded group of records without committing offsets.
- static offsets_for(consumed_messages: Sequence[ConsumedKafkaMessage]) list[TopicPartition][source]#
Return the highest processed next offset for each source partition.
- class base.kafka.KafkaHandler[source]#
Bases:
objectBase class shared by producer and consumer wrappers.
- exception base.kafka.KafkaMessageFetchException[source]#
Bases:
ExceptionRaised when Kafka returns a permanent consumer error.
- class base.kafka.KafkaProduceHandler(conf)[source]#
Bases:
KafkaHandlerCommon lifecycle and retry behavior for Kafka producers.
- class base.kafka.KafkaProduceRecord(topic: str, data: str, key: str | None = None)[source]#
Bases:
objectOne output record queued for a Kafka transaction.
- class base.kafka.KafkaTopicManager(admin_client: AdminClient)[source]#
Bases:
objectReconcile a set of topics with the configured partition policy.
- class base.kafka.SimpleKafkaConsumeHandler(topics: str | list[str])[source]#
Bases:
KafkaConsumeHandlerConsumer without transactional read isolation.
- class base.kafka.SimpleKafkaProduceHandler[source]#
Bases:
KafkaProduceHandlerSynchronous Kafka producer without transactional semantics.
- exception base.kafka.TooManyFailedAttemptsError[source]#
Bases:
ExceptionRaised when required Kafka topics never become available.
- base.kafka.ensure_topics(admin_client: AdminClient, topics: str | list[str], target_partitions: int | None = None, replication_factor: int | None = None, auto_expand_partitions: bool | None = None) dict[str, int][source]#
Preserve the existing functional API around the topic manager.
Submodules#
base.kafka.client module#
Common base type for Kafka client wrappers.
base.kafka.config module#
Process-level Kafka configuration shared by all Kafka clients.
base.kafka.consumer module#
Kafka consumer hierarchy and offset management.
- class base.kafka.consumer.ExactlyOnceKafkaConsumeHandler(topics: str | list[str])[source]#
Bases:
KafkaConsumeHandlerConsumer that exposes only committed transactional records.
- class base.kafka.consumer.KafkaConsumeHandler(topics: str | list[str])[source]#
Bases:
KafkaSerializationMixin,KafkaHandlerCommon connection, batching, decoding, and offset behavior.
- commit(consumed_messages: Sequence[ConsumedKafkaMessage] | None = None) None[source]#
Commit an explicit batch or the latest record from
consume.
- consume_batch(max_messages: int | None = None, timeout_ms: int | None = None) list[ConsumedKafkaMessage][source]#
Fetch a bounded group of records without committing offsets.
- static offsets_for(consumed_messages: Sequence[ConsumedKafkaMessage]) list[TopicPartition][source]#
Return the highest processed next offset for each source partition.
base.kafka.errors module#
Kafka wrapper exceptions.
base.kafka.producer module#
Kafka producer hierarchy for simple, buffered, and EoS delivery.
- class base.kafka.producer.BufferedKafkaProduceHandler[source]#
Bases:
SimpleKafkaProduceHandlerAsynchronous producer with bounded local backpressure.
- class base.kafka.producer.ExactlyOnceKafkaProduceHandler[source]#
Bases:
KafkaProduceHandlerTransactional producer that atomically commits outputs and input offsets.
- transaction_batch(consumer: KafkaConsumeHandler, consumed_messages: Sequence[ConsumedKafkaMessage]) Iterator[None][source]#
Collect outputs and commit them with source offsets on clean exit.
- class base.kafka.producer.KafkaProduceHandler(conf)[source]#
Bases:
KafkaHandlerCommon lifecycle and retry behavior for Kafka producers.
base.kafka.records module#
Value objects passed between Kafka consumers and producers.
base.kafka.resilience module#
Kafka-specific transient error classification.
base.kafka.serialization module#
Deserialization behavior shared by Kafka consumer implementations.
base.kafka.topics module#
Kafka topic configuration, provisioning, and consumer-group naming.
- class base.kafka.topics.KafkaTopicManager(admin_client: AdminClient)[source]#
Bases:
objectReconcile a set of topics with the configured partition policy.