Skip to content

Chisanan232/abe-kafka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

69 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

abe-kafka

pre-commit.ci status CI Quality Gate Status codecov documentation PyPI GitHub Release License: MIT

Python Versions Monthly Downloads

Overview

Kafka message queue backend implementation for the Abstract Backend ecosystem. Provides an async-friendly Kafka client with simple, environment-driven configuration and JSON message handling.

  • Environment-first config via KAFKA_* variables
  • Auth modes: PLAINTEXT, SASL/PLAIN, SSL
  • Async publish/consume with JSON serialization
  • Drop-in backend selected by MESSAGE_QUEUE_BACKEND=kafka

Python versions support

Supports Python 3.12 and 3.13.

Supported Versions

Quickly Start

Install and run a minimal round-trip locally.

# Install (choose one)
pip install abe-kafka
# or
uv add abe-kafka

# Minimal environment
export MESSAGE_QUEUE_BACKEND=kafka
export KAFKA_BOOTSTRAP_SERVERS=localhost:9092
import asyncio
from abe_plugin.backends.message_queue.service.abe_kafka import KafkaMessageQueueBackend

async def main():
    backend = KafkaMessageQueueBackend.from_env()
    await backend.publish("demo-topic", {"hello": "world"})
    async for msg in backend.consume(group="g1"):
        print("received:", msg)
        break
    await backend.close()

asyncio.run(main())

For SASL/SSL examples and starting a local Kafka (Docker Compose or Testcontainers), see the Installation and How to Run docs below.

Documentation

For contributor guides, see Development: index, workflow.

Coding style and following rules

abe-kafka follows coding styles black and PyLint to control code quality.

Code style: black linting: pylint

Downloads

Package download statistics:

Downloads Downloads

License

MIT License

About

๐Ÿ”— A backend component as message queue component by Kafka.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages