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.0a1.tar.gz (13.8 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.0a1-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file kafka_streamka-0.0.0a1.tar.gz.

File metadata

  • Download URL: kafka_streamka-0.0.0a1.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for kafka_streamka-0.0.0a1.tar.gz
Algorithm Hash digest
SHA256 7dc82c92a43da4727f54d30bd3e8c95b17d086f62c7978b152d453f85e09c749
MD5 13a1d4a0f5fb3ac90da7f8d27405bade
BLAKE2b-256 c1317c038fe5a0efdf3101f9a3aa3fe16a79a50087eb30b707ea158059b4c492

See more details on using hashes here.

Provenance

The following attestation bundles were made for kafka_streamka-0.0.0a1.tar.gz:

Publisher: pypi-publish.yml on Effiware/kafka-streamka

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for kafka_streamka-0.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 39e9c1d86277b9d8bb105f32e398f291426ff8a832620453938887b58210c3f1
MD5 63c76ad295cdd369256d3188a1399728
BLAKE2b-256 5f227ed6b9ba7ffeaa635dfdf4eb147d67bf0723c54ef1cef349afe9defdd9f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for kafka_streamka-0.0.0a1-py3-none-any.whl:

Publisher: pypi-publish.yml on Effiware/kafka-streamka

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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