Skip to main content

Python data types for the Apache Kafka® Protocol.

Project description

kio

CI Build Status

Python data types for the Apache Kafka® Protocol.

Features

  • Exposes immutable dataclass entities for all protocol messages, generated from the same source as used internally in Apache Kafka®.
  • Message classes are simply light-weight data containers and does not inherit anything or expose any methods other than a vanilla dataclass. Encoding and decoding is enabled by making all the necessary details about Kafka encoding introspectable.
  • Supports encoding and decoding of messages through IO[bytes].
  • Test suite with focus on roundtrip property tests using Hypothesis.

Development

Install development requirements.

$ python3 -m pip install -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 --file=container/compose.yml up -d

Run tests.

$ python3 -X dev -m pytest --cov

Setup pre-commit to run on push.

$ pre-commit install -t pre-push

Fetch, generate, and format schema.

$ make build-schema

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

kio-0.0.0a0.tar.gz (105.5 kB view details)

Uploaded Source

Built Distribution

kio-0.0.0a0-py3-none-any.whl (603.1 kB view details)

Uploaded Python 3

File details

Details for the file kio-0.0.0a0.tar.gz.

File metadata

  • Download URL: kio-0.0.0a0.tar.gz
  • Upload date:
  • Size: 105.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for kio-0.0.0a0.tar.gz
Algorithm Hash digest
SHA256 099b1422b7162f4839866bd12a91383b2ee84af9b8a88c9ec73c94cc2e618e29
MD5 c7d6eb4f84465ec8dfa0b73547b41a7e
BLAKE2b-256 e05f1e116a7cbcf6542a49b1984f7e6870b139dda6ee83a4471afcc37eb2bb0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kio-0.0.0a0-py3-none-any.whl
  • Upload date:
  • Size: 603.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for kio-0.0.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 91eb5b58667eb1521cdc62a2028614a4b3a283277ffa426ee56b4d047245ea21
MD5 25129882f43b81c1fc86b77edc6a406d
BLAKE2b-256 46c0236870303ad49103cc8e7f611f6c77a79028015b4ad377535ddcdbb17aca

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