aws-glue-schema-registry
Use the AWS Glue Schema Registry.
What it is and what it does
This package wraps AWS Glue Schema Registry to let Python applications serialize and deserialize messages against centrally managed schemas. It supports Avro and JSON Schema formats, local schema caching to reduce API calls, automatic schema registration, and schema evolution validation. The library is a partial port of the Java reference implementation, covering the core serialization/deserialization workflow but omitting Flink support.
You create a SchemaRegistryClient by passing a boto3 Glue client and registry name, then use it to serialize data with a schema or deserialize messages that carry schema metadata. Optional adapters for kafka-python are available to integrate directly into Kafka producers and consumers. The package depends on boto3 for AWS API access, fastavro and fastjsonschema for schema validation, and orjson for JSON handling.
Use it for:
- Publish Avro-encoded messages to Kafka topics with schema validation and automatic schema registration in AWS Glue.
- Consume messages that carry embedded schema references and deserialize them with schema evolution checks.
- Maintain a centralized schema registry in AWS Glue and enforce schema compatibility across multiple Python services.
- Cache schemas locally to reduce latency and API calls when serializing message streams.
- Migrate existing schemas from a third-party registry into AWS Glue and use this library to read them.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Serializes and deserializes messages using AWS Glue Schema Registry with support for Avro and JSON Schema formats, including local caching and schema evolution checks.
Yes, if you are already using AWS Glue Schema Registry and need Python integration. The library is stable, has no known vulnerabilities, and low install friction. However, maintenance is dormant (last release 2023-10-17), so do not expect active support or new features; use it only if your schema and messaging patterns are unlikely to change and you can maintain the integration yourself if needed.
Install
aws-glue-schema-registry on PyPI
pip
pip install aws-glue-schema-registryuv
uv add aws-glue-schema-registrypoetry
poetry add aws-glue-schema-registryInstalling aws-glue-schema-registry
Before you install
Low friction install with a pure-Python wheel and five straightforward runtime dependencies. Maintenance is dormant—last release was 2023-10-17 and last commit 2024-11-09—so expect no active bug fixes or feature development, though the codebase is stable enough for production use if your schema needs are static.
License in practice
Apache Software License (permissive) means you can use this freely in commercial and open-source projects with minimal restrictions; just include a copy of the license and note any modifications you make.
Quickstart
import boto3
from aws_glue_schema_registry import SchemaRegistryClient
from aws_glue_schema_registry.avro import AvroSchema
session = boto3.Session(region_name='us-west-2')
glue_client = session.client('glue')
client = SchemaRegistryClient(glue_client, registry_name='my-registry')
with open('schema.avsc', 'r') as f:
schema = AvroSchema(f.read())
Requires AWS credentials configured via boto3 (environment variables, profile, or explicit session parameters) and an existing AWS Glue Schema Registry.
Verify before relying
- Whether the library's feature parity with the Java implementation is sufficient for your specific use case (Flink support is explicitly missing).
- Performance characteristics and throughput limits when used at scale with large message volumes.
- Specific usage patterns with kafka-python adapter and whether the optional kafka-python extra is required for your workflow.
Package facts
| License | Apache Software License (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — boto3, fastavro, fastjsonschema, orjson, typing-extensions |
| Maintenance | dormant — 1,032 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 114,915/month — #12,273 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aws_glue_schema_registry-1.1.3-py3-none-any.whl
Keywords: aws, glue, schema, registry, avro
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
confluent_avroSerializes and deserializes Avro data according…
permissive · top 15,000 on PyPI
kafka-schema-registryIntegrates Kafka with Confluent Schema Registry…
permissive · top 15,000 on PyPI
py-avro-schemaGenerates Apache Avro schemas from Python…
permissive · top 15,000 on PyPI
azure-schemaregistryRegisters, retrieves, and manages schemas in…
permissive · top 5,000 on PyPI
azure-schemaregistry-avroserializerSerializes and deserializes Avro data using…
permissive · top 15,000 on PyPI
avro-python3Serializes and deserializes data in Apache Avro…
permissive · top 5,000 on PyPI
dataclasses-avroschemaGenerates Avro schemas from Python dataclasses,…
permissive · top 5,000 on PyPI
fastavrofastavro reads and writes Apache Avro files…
permissive · top 1,000 on PyPI
pydantic-avroConverts between pydantic class definitions and…
permissive · top 5,000 on PyPI