Skip to main content

Fast python kafka client for asyncio.

Project description

https://travis-ci.com/jmf-mordis/asynckafka.svg?branch=master

Fast python Kafka client for asyncio. Asynckafka is written in Cython on top of Rdkafka as Kafka driver.

The documentation can be found here.

Features

  • Consumer using a balanced group

  • Producer

The library was born as a project to learn Cython, right now it only has the basic features implemented, some of the most important missing features are:

  • Offset management in the consumer

  • Precise partition management

Examples

Simple consumer

How to use a consumer:

consumer = Consumer(
    brokers='localhost:9092',
    topics=['my_topic'],
    group_id='my_group_id',
)
consumer.start()

async for message in consumer:
    print(f"Received message: {message.payload}")

Simple producer

How to use a producer:

producer = Producer(brokers="localhost:9092")
producer.start()
await producer.produce("my_topic", b"my_message")

Benchmark

The test was performed in June of 2018 using a single Kafka broker without replication. The purpose of the benchmark was only to have an idea of the order of magnitude of the library’s performance under these conditions.

Comparison between asynckafka and aiokafka in production and consumption:

Production
https://github.com/jmf-mordis/asynckafka/raw/master/docs/benchmark/graphs/producer.png
Consumption
https://github.com/jmf-mordis/asynckafka/raw/master/docs/benchmark/graphs/consumer.png

The benchmark used for asynckafka is in benchmark directory while the benchmark used for aiokafka is in its own repository, also in the benchmark folder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asynckafka-0.2.0.tar.gz (421.4 kB view details)

Uploaded Source

File details

Details for the file asynckafka-0.2.0.tar.gz.

File metadata

  • Download URL: asynckafka-0.2.0.tar.gz
  • Upload date:
  • Size: 421.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.1

File hashes

Hashes for asynckafka-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1716f8a96ad0384272831cf34385f0688dc542d74f26ca88dee23bab24b7f699
MD5 a5f3fd4500a7ffd01529b1e7f5ae33a9
BLAKE2b-256 648a72fb926c73a734fd43d2fae60ca0b7930809c072ded3b4659e04ae19e6fb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page