Kafka Steams API implementation for Python (using confluent-kafka).
Project description
Kafka Streamka - Kafka Steams API for Python
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kafka_streamka-0.0.0a2.tar.gz.
File metadata
- Download URL: kafka_streamka-0.0.0a2.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b80cb7c52361795ca273d671674a624ee31e0f8546fbd3d7cc81645774248a4
|
|
| MD5 |
357ebbf08c25da026e8595155c6f7f49
|
|
| BLAKE2b-256 |
b35f676550e0aa1c4b337c796ed92aceecddfdf4b728ae9959e7608f5a051243
|
Provenance
The following attestation bundles were made for kafka_streamka-0.0.0a2.tar.gz:
Publisher:
pypi-publish.yml on Effiware/kafka-streamka
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kafka_streamka-0.0.0a2.tar.gz -
Subject digest:
6b80cb7c52361795ca273d671674a624ee31e0f8546fbd3d7cc81645774248a4 - Sigstore transparency entry: 169893261
- Sigstore integration time:
-
Permalink:
Effiware/kafka-streamka@793899fb8d97e48d7c971508c358ee5c525b3d79 -
Branch / Tag:
refs/tags/0.0.0a2 - Owner: https://github.com/Effiware
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@793899fb8d97e48d7c971508c358ee5c525b3d79 -
Trigger Event:
release
-
Statement type:
File details
Details for the file kafka_streamka-0.0.0a2-py3-none-any.whl.
File metadata
- Download URL: kafka_streamka-0.0.0a2-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18d978b1bdd90a00a5e368fc5d72e6f46ce66ceaa336e1dbc0e559acffade8da
|
|
| MD5 |
f56d052c094537f69ddb118a2ce9b44b
|
|
| BLAKE2b-256 |
60a26316556cac229bb2eeee54e91059b56d08bd013cb9f9d4ea41d48e3b6dbf
|
Provenance
The following attestation bundles were made for kafka_streamka-0.0.0a2-py3-none-any.whl:
Publisher:
pypi-publish.yml on Effiware/kafka-streamka
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kafka_streamka-0.0.0a2-py3-none-any.whl -
Subject digest:
18d978b1bdd90a00a5e368fc5d72e6f46ce66ceaa336e1dbc0e559acffade8da - Sigstore transparency entry: 169893264
- Sigstore integration time:
-
Permalink:
Effiware/kafka-streamka@793899fb8d97e48d7c971508c358ee5c525b3d79 -
Branch / Tag:
refs/tags/0.0.0a2 - Owner: https://github.com/Effiware
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@793899fb8d97e48d7c971508c358ee5c525b3d79 -
Trigger Event:
release
-
Statement type: