Important
This package has been deprecated by the SQuaRE team and will only receive maintenance updates on the 0.3 branch. Kafkit is superseded by the following packages:
- safir.kafka provides a Schema Manager for Pydantic models that integrates with the Confluent Schema Registry.
- dataclasses-avroschema from Marcos Schroh provides core support for integrating Avro with Python dataclasses and Pydantic models.
- python-schema-registry-client also from Marcos Schroh provides a client for the Confluent Schema Registry.
Kafkit helps you write Kafka producers and consumers in Python with asyncio:
-
Kafkit provides a client for the Confluent Schema Registry's HTTP API. The
RegistryApiclient includes both high-level methods for managing subjects and schemas in a Registry, and direct low-level access to HTTP methods (GET, POST, PUT, PATCH, and DELETE). The high-level methods use caching so you can use the client as an integral part of your application's schema management.RegistryApiis implemented around aiohttp, but since the base class is designed with a sans IO architecture, a Registry client can be implemented with any asyncio HTTP library. -
Kafkit provides Avro message serializers and deserializers that integrate with the Confluent Schema Registry:
Deserializer,Serializer, andPolySerializer. -
The
RecordNameSchemaManageris a streamlined tool for serializing messages using the schemas maintained by your app, while also integrating with the Confluent Schema Registry. -
The
kafkit.sslmodule helps you connect to SSL-secured Kafka brokers.
Learn more about Kafkit at https://kafkit.lsst.io.