Skip to main content

Kafka Steams API implementation for Python (using confluent-kafka).

Project description

Kafka Streamka - Kafka Steams API for Python

PyPI PyPI - Python Version PyPI - License PyPI - Downloads PyPI - Coverage PyPI - Wheel PyPI - Implementation

Project is currently in the research phase.

Kafka Streamka is a Kafka Streams API implementation for Python, utilizing the confluent-kafka library. The Kafka Streams API, originally developed for Java, is a powerful library for building real-time, scalable, and fault-tolerant stream processing applications. It allows developers to process and analyze data stored in Kafka topics with ease.

One of the revolutionary features introduced by Kafka Streams is "exactly-once delivery" semantics, which ensures that each record is processed exactly once, even in the presence of failures. This feature is crucial for maintaining data integrity in distributed systems.

In Kafka, there are two types of producers: synchronous and asynchronous. A synchronous producer waits for an acknowledgment from the Kafka broker before sending the next message, ensuring that messages are delivered in order. An asynchronous producer, on the other hand, sends messages without waiting for acknowledgments, which can lead to higher throughput but may result in out-of-order delivery. For critical applications where message order and delivery guarantees are important, the synchronous approach is preferred.

Implementing a Kafka Streams API in Python presents several challenges. Python's Global Interpreter Lock (GIL) can limit the performance of multi-threaded applications, making it difficult to achieve the same level of concurrency as in Java. Additionally, integrating with the confluent-kafka library and ensuring compatibility with Kafka's features requires careful design and testing.

This project is currently in the research phase, and we are exploring the best approaches to bring the power of Kafka Streams to the Python ecosystem.

License

This project is licensed under the GNU Affero General Public License v3.0. See the LICENSE file for more details.

Contact

For any inquiries, please contact sales at contact@effiware.com.

Links

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

kafka-streamka-0.0.0a0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kafka_streamka-0.0.0a0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file kafka-streamka-0.0.0a0.tar.gz.

File metadata

  • Download URL: kafka-streamka-0.0.0a0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.13.0 Darwin/24.3.0

File hashes

Hashes for kafka-streamka-0.0.0a0.tar.gz
Algorithm Hash digest
SHA256 ff9ddb9c5c91a91a97cf3a67dbfcc22fa47820023264c0ca0c4cfe3d0b43c3cd
MD5 df62fb37556b38ecb058e00e789936c8
BLAKE2b-256 fade55a1f493c8eecaa8ec9e2ef7401c06107651b8490d694211756eee7f0c77

See more details on using hashes here.

File details

Details for the file kafka_streamka-0.0.0a0-py3-none-any.whl.

File metadata

  • Download URL: kafka_streamka-0.0.0a0-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.13.0 Darwin/24.3.0

File hashes

Hashes for kafka_streamka-0.0.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 385af30d91144fac295d882892feb12d638b323f1d8675b0128b09edd750dffc
MD5 6c2260afb0c1f6ce451d5a762d1a1ff3
BLAKE2b-256 f2aa45b90d6d6c6194a12106abf4dd8399e465c6191891ab19c05f73503e4190

See more details on using hashes here.

Supported by

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