Kafkit API reference

kafkit.registry Package

Classes

Deserializer(*, registry) An Avro message deserializer that understands the Confluent Wire Format and obtains schemas on-demand from a Confluent Schema Registry.
PolySerializer(*, registry) An Avro message serializer that can write messages for multiple schemas in the Confluent Wire Format.
RegistryBadRequestError(status_code, *args, …) An exception if the request is invalid (4XX errors).
RegistryBrokenError(status_code, *args, …) An excpetion if the server is down (5XX errors).
RegistryError Base exception for Registry errors.
RegistryHttpError(status_code, *args, …) A base exception that includes metadata about the HTTP response.
RegistryRedirectionError(status_code, *args, …) An exception for 3XX responses.
Serializer(*, schema, Any], schema_id) An Avro message serializer that writes in the Confluent Wire Format.

kafkit.registry.aiohttp Module

Aiohttp client for the Confluent Schema Registry.

This code and architecture is based on https://github.com/brettcannon/gidgethub See licenses/gidgethub.txt for info.

Classes

RegistryApi(*, session, url) A Confluent Schema Registry client that uses aiohttp.

kafkit.registry.manager Module

Combined local and registry-based schema management.

Classes

RecordNameSchemaManager(*, root, registry, …) A manager for schemas embedded in the application itself in conjunction with a Confluent Schema Registry, for the case of a record name subject name strategy.

kafkit.registry.sansio Module

Code to help use the Confluent Schema Registry that is not specific to a particular http client library.

This code and architecture is inspired by https://github.com/brettcannon/gidgethub and https://sans-io.readthedocs.io. See licenses/gidgethub.txt for license info.

Functions

make_headers() Make HTTP headers for the Confluent Schema Registry.
decipher_response(status_code, headers, …) Process a response.
decode_body(content_type, body) Decode an HTTP body based on the specified content type.

Classes

RegistryApi(*, url) A baseclass for Confluent Schema Registry clients.
MockRegistryApi(url, status_code, headers, …) A mock implementation of the RegistryApi client that doensn’t do network operations and provides attributes for introspection.
SchemaCache() A cache of schemas that maintains a mapping of schemas and their IDs in a Schema Registry.
SubjectCache(schema_cache) A cache of subjects in a schema registry that maps subject and version tuples to an actual schema.
CompatibilityType Compatibility settings available for the Confluent Schema Registry, as an Enum.

kafkit.ssl Module

Support for connecting to brokers with SSL.

Functions

create_ssl_context(*, cluster_ca_path, …) Create an SSL context for a client connecting to secured Kafka brokers.