Python data types for the Apache Kafka® Protocol.
Project description
kio
Python data types for the Apache Kafka® Protocol.
Checkout the complete documentation →
Features
- Exposes immutable dataclass entities for all protocol messages, generated from the same source as used internally in Apache Kafka®.
- Message classes are simple light-weight data containers that do not inherit anything or expose any methods other than a regular dataclass. Encoding and decoding is enabled by making all the necessary details about Kafka encoding introspectable.
- Widely compatible encoding and decoding of messages through the
IO[bytes]interface. - Test suite with focus on roundtrip property tests using Hypothesis, including compatibility testing against the internals of upstream Apache Kafka®.
Installation
$ pip install --require-virtualenv kio
Development
Install development requirements.
$ pip install --require-virtualenv -e .[all]
The test suite contains integration tests that expects to be able to connect to an
Apache Kafka® instance running on 127.0.0.1:9092. There is a Docker Compose file in
container/compose.yml that you can use to conveniently start up an instance.
$ docker compose up -d kafka
Run tests.
$ python3 -X dev -m pytest --cov
Setup pre-commit to run on push.
$ pre-commit install -t pre-push
[!WARNING]
Building the schema will delete thesrc/kio/schemadirectory and recreate it again, hence all of the files under this directory will be deleted. Make sure to not put unrelated files there and accidentally wipe out your own work.
Fetch, generate, and format schema.
$ make build-schema
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 kio-0.4.0.tar.gz.
File metadata
- Download URL: kio-0.4.0.tar.gz
- Upload date:
- Size: 144.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
939918fc0604ccea5e67b90de2648abc11d4bf670532a0f2084f673724038ade
|
|
| MD5 |
1d3da59c741fe65d8cee25536de620fb
|
|
| BLAKE2b-256 |
e8f058f85624014eb2eb44d47da146b171f67f1dafa81a0452a888ed71559805
|
Provenance
The following attestation bundles were made for kio-0.4.0.tar.gz:
Publisher:
release.yaml on Aiven-Open/kio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kio-0.4.0.tar.gz -
Subject digest:
939918fc0604ccea5e67b90de2648abc11d4bf670532a0f2084f673724038ade - Sigstore transparency entry: 193702218
- Sigstore integration time:
-
Permalink:
Aiven-Open/kio@dcdfef34deb2e86d8b062dc10f27a6b3a26014fe -
Branch / Tag:
refs/tags/0.4.0 - Owner: https://github.com/Aiven-Open
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@dcdfef34deb2e86d8b062dc10f27a6b3a26014fe -
Trigger Event:
release
-
Statement type:
File details
Details for the file kio-0.4.0-py3-none-any.whl.
File metadata
- Download URL: kio-0.4.0-py3-none-any.whl
- Upload date:
- Size: 722.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9089b62a694fc4a25a7305aeeaf64450eaf0f96a35d7a0c040ef09e4b2f71087
|
|
| MD5 |
8000eee775b333ea99db536ec4006132
|
|
| BLAKE2b-256 |
346b88c5612acbf1d00ffc1559a06ffcdc590dfc5f23aa60c3e1dcbf9819c225
|
Provenance
The following attestation bundles were made for kio-0.4.0-py3-none-any.whl:
Publisher:
release.yaml on Aiven-Open/kio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kio-0.4.0-py3-none-any.whl -
Subject digest:
9089b62a694fc4a25a7305aeeaf64450eaf0f96a35d7a0c040ef09e4b2f71087 - Sigstore transparency entry: 193702224
- Sigstore integration time:
-
Permalink:
Aiven-Open/kio@dcdfef34deb2e86d8b062dc10f27a6b3a26014fe -
Branch / Tag:
refs/tags/0.4.0 - Owner: https://github.com/Aiven-Open
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@dcdfef34deb2e86d8b062dc10f27a6b3a26014fe -
Trigger Event:
release
-
Statement type: