{"id":26755,"library":"aws-glue-schema-registry","title":"AWS Glue Schema Registry Python Client","description":"A Python library for integrating with AWS Glue Schema Registry, supporting Avro and JSON schemas. Version 1.1.3 is current; it requires Python >=3.8 and is under active development.","status":"active","version":"1.1.3","language":"python","source_language":"en","source_url":"https://github.com/DisasterAWARE/aws-glue-schema-registry-python","tags":["aws","glue","schema-registry","avro","json","serde"],"install":[{"cmd":"pip install aws-glue-schema-registry","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"AWS SDK for Python, required for AWS service interactions","package":"boto3","optional":false},{"reason":"Avro serialization/deserialization","package":"fastavro","optional":false},{"reason":"JSON schema validation","package":"jsonschema","optional":false}],"imports":[{"note":"Primary schema registry client","symbol":"GlueSchemaRegistry","correct":"from aws_glue_schema_registry import GlueSchemaRegistry"},{"note":"Serializer for Avro schemas","symbol":"AvroSerializer","correct":"from aws_glue_schema_registry.serde.avro import AvroSerializer"},{"note":"Serializer for JSON schemas","symbol":"JsonSerializer","correct":"from aws_glue_schema_registry.serde.json import JsonSerializer"}],"quickstart":{"code":"import boto3\nfrom aws_glue_schema_registry import GlueSchemaRegistry\nfrom aws_glue_schema_registry.serde.avro import AvroSerializer\n\nsession = boto3.Session()\nglue_client = session.client('glue')\nregistry_name = 'my-registry'\nschema_name = 'my-schema'\n\n# Schema definition (Avro example)\navro_schema = {\n    'type': 'record',\n    'name': 'User',\n    'fields': [{'name': 'name', 'type': 'string'}]\n}\n\nserializer = AvroSerializer(glue_client, registry_name, schema_name, avro_schema)\ndata = {'name': 'John'}\nserialized_bytes = serializer.serialize(data)\nprint(serialized_bytes)","lang":"python","description":"Initialize a serializer for Avro schema and serialize a record."},"warnings":[{"fix":"Attach AWSGlueSchemaRegistryFullAccess policy or grant specific permissions.","message":"The library uses boto3's glue client directly; ensure that the IAM role/policy has glue:GetSchema, glue:PutSchemaVersion, glue:RegisterSchemaVersion permissions.","severity":"gotcha","affected_versions":"all"},{"fix":"Update imports to use the new submodules.","message":"Version 1.0 changed the import path from aws_glue_schema_registry.serde to aws_glue_schema_registry.serde.avro and aws_glue_schema_registry.serde.json.","severity":"breaking","affected_versions":"<1.0"},{"fix":"Use serializer.serialize(data=value) instead of serializer.serialize(value).","message":"The 'serialize' method with positional arguments is deprecated in favor of keyword arguments.","severity":"deprecated","affected_versions":">=1.1.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Attach policy AWSGlueSchemaRegistryFullAccess or grant glue:GetSchema, glue:PutSchemaVersion, glue:RegisterSchemaVersion.","cause":"Missing IAM permissions for Glue Schema Registry.","error":"botocore.exceptions.ClientError: An error occurred (AccessDeniedException) when calling the GetSchema operation"},{"fix":"Run pip install aws-glue-schema-registry.","cause":"Library not installed or environment does not have it.","error":"ModuleNotFoundError: No module named 'aws_glue_schema_registry'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}