kafka-schema-registry
Kafka and schema registry integration
What it is and what it does
kafka-schema-registry wraps kafka-python to automate the workflow of creating Kafka topics, registering or updating schemas in Confluent Schema Registry, and serializing messages using Avro. It takes three main dependencies—fastavro for Avro serialization, kafka-python for the underlying Kafka client, and requests for Schema Registry HTTP calls—and combines them into a single prepare_producer() call that handles schema management and message publishing together.
The package is designed for teams using Kafka with schema governance who want to avoid manually coordinating topic creation, schema registration, and message serialization. It requires Python 3.7 or later and is permissively licensed under MIT. The codebase has been stable since mid-2022 but is no longer actively maintained, so compatibility with very recent Kafka or Schema Registry versions is not guaranteed.
Use it for:
- Set up a Kafka producer that automatically registers an Avro schema on first use and validates outgoing messages against it.
- Migrate existing Kafka workflows to schema-driven publishing without rewriting producer initialization logic.
- Prototype or test Kafka + Schema Registry integration in development environments with minimal boilerplate.
- Publish structured event data to Kafka topics where schema evolution and validation are required.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Integrates Kafka with Confluent Schema Registry to manage topic creation, schema publishing, and message serialization in a single workflow.
Yes, if you are actively using Kafka with Confluent Schema Registry and want to reduce boilerplate around topic and schema setup. The low install friction and permissive license make it a reasonable choice for new projects. However, be aware that the package has not been updated since mid-2022; if you depend on recent Kafka or Schema Registry features, or if you need active maintenance support, consider evaluating whether kafka-python alone plus direct Schema Registry API calls would be more sustainable for your use case.
Install
kafka-schema-registry on PyPI
pip
pip install kafka-schema-registryuv
uv add kafka-schema-registrypoetry
poetry add kafka-schema-registryInstalling kafka-schema-registry
Before you install
Low friction installation with three lightweight runtime dependencies (fastavro, kafka-python, requests). Maintenance status is aging—last release was 2022-07-13 and the repository has not been updated since then, though it remains unarchived.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
from kafka_schema_registry import prepare_producer
SAMPLE_SCHEMA = {
"type": "record",
"name": "TestType",
"fields": [{"name": "age", "type": "int"}]
}
producer = prepare_producer(
['localhost:9092'],
'http://schemaregistry',
'my_topic',
1,
1,
value_schema=SAMPLE_SCHEMA
)
producer.send('my_topic', {'age': 34})
Requires a running Kafka broker and Confluent Schema Registry instance accessible at the provided URLs.
Verify before relying
- Whether the package supports the latest Confluent Schema Registry API versions and Kafka protocol versions.
- Active maintenance status and likelihood of updates for compatibility with newer kafka-python releases.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — fastavro, kafka-python, requests |
| Maintenance | aging — 1,493 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 186,685/month — #9,978 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: kafka_schema_registry-0.1.2-py3-none-any.whl
Keywords: kafka, schema-registry
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
confluent_avroSerializes and deserializes Avro data according…
permissive · top 15,000 on PyPI
aws-glue-schema-registrySerializes and deserializes messages using AWS…
permissive · top 15,000 on PyPI
sentry-kafka-schemasProvides Kafka topic definitions and JSON…
unclear · top 15,000 on PyPI
confluent-kafkaProvides a high-performance Python client for…
permissive · top 1,000 on PyPI
kafkaA pure-Python client library for Apache Kafka…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-confluent-kafkaAdds distributed tracing to confluent-kafka…
permissive · top 5,000 on PyPI
pulumi-confluentcloudPulumi provider for declaring and managing…
permissive · top 15,000 on PyPI
aiokafkaaiokafka is an asyncio-based client library for…
permissive · top 5,000 on PyPI
kafka-pythonPure-Python Apache Kafka client library…
permissive · top 1,000 on PyPI