python-schema-registry-client
Python Rest Client to interact against Schema Registry confluent server
What it is and what it does
This package provides a Python REST client to interact with Confluent's Schema Registry, allowing you to register, retrieve, and manage Avro and JSON schemas centrally. It wraps httpx and anyio for HTTP communication, and uses fastavro and jsonschema for schema validation and serialization. The client supports both synchronous and asynchronous workflows, and includes message serializers for encoding and decoding records against registered schemas.
You typically use it in data pipeline or event-streaming applications where multiple services need to agree on message formats. The package integrates with external tools like Pydantic and dataclasses-avroschema, so you can generate schemas directly from Python type definitions rather than writing them by hand. It requires Python 3.8 or later and has no compiled dependencies, making installation straightforward.
Use it for:
- Register and version Avro schemas in a central registry before publishing events to Kafka topics.
- Serialize and deserialize messages using schemas stored in Schema Registry during event production and consumption.
- Validate JSON or Avro data against registered schemas to catch schema mismatches early in a pipeline.
- Generate schemas from Pydantic models or dataclasses and push them to Schema Registry for cross-service schema governance.
- Test schema compatibility before deploying schema changes in a streaming or event-driven architecture.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
REST client for registering, retrieving, and managing Avro and JSON schemas in a Confluent Schema Registry server.
Yes, if you are working with Confluent Schema Registry and need a Python client. The package is stable, has no known vulnerabilities, and low install friction. The aging maintenance status (497 days since last release) is a minor concern for long-term support, but the core functionality is mature and unlikely to require frequent updates. Install it if schema management is central to your architecture; skip it if you do not use Schema Registry.
Install
python-schema-registry-client on PyPI
pip
pip install python-schema-registry-clientuv
uv add python-schema-registry-clientpoetry
poetry add python-schema-registry-clientInstalling python-schema-registry-client
Before you install
Low install friction with a pure-wheel distribution. Maintenance status is aging—last release was 497 days ago—so expect slower response to issues, though the package remains functional for its core use case.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install python-schema-registry-client
from schema_registry.client import SchemaRegistryClient
client = SchemaRegistryClient(url="http://127.0.0.1:8081")
schema_id = client.register("test-subject", {"type": "record", "name": "Test", "fields": [{"name": "id", "type": "int"}]})
Requires a running Confluent Schema Registry server accessible at the configured URL.
Verify before relying
- Whether async support is production-ready and feature-complete relative to the sync client.
- Performance characteristics and throughput limits when registering or retrieving large numbers of schemas.
- Compatibility with recent Confluent Schema Registry API versions beyond what the documentation covers.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — fastavro, jsonschema, httpx, anyio |
| Maintenance | aging — 497 days since the last release |
| First released | |
| Downloads | 703,838/month — #5,279 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_schema_registry_client-2.6.1-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
aws-glue-schema-registrySerializes and deserializes messages using AWS…
permissive · top 15,000 on PyPI
confluent-kafkaProvides a high-performance Python client for…
permissive · top 1,000 on PyPI
azure-schemaregistryRegisters, retrieves, and manages schemas in…
permissive · top 5,000 on PyPI
confluent_avroSerializes and deserializes Avro data according…
permissive · top 15,000 on PyPI
py-avro-schemaGenerates Apache Avro schemas from Python…
permissive · top 15,000 on PyPI
kafka-schema-registryIntegrates Kafka with Confluent Schema Registry…
permissive · top 15,000 on PyPI
dataclasses-avroschemaGenerates Avro schemas from Python dataclasses,…
permissive · top 5,000 on PyPI
pydantic-avroConverts between pydantic class definitions and…
permissive · top 5,000 on PyPI
azure-schemaregistry-avroserializerSerializes and deserializes Avro data using…
permissive · top 15,000 on PyPI
avro-gen3Generates typed Python record classes and a…
permissive · top 5,000 on PyPI