Python Rest Client to interact against schema-registry confluent server to manage Avro Schemas resources.
python 3.6+, fastavro>=0.22.3, requests>=2.22.0
pip install python-schema-registry-client
If you want the Faust functionality:
pip install python-schema-registry-client[faust]
Documentation: https://marcosschroh.github.io/python-schema-registry-client.io
Usually, we have a situacion like this:
So, our producers/consumers have to serialize/deserialize messages every time that they send/receive from Kafka topics. In this picture, we can imagine a Faust application receiving messages (encoded with an Avro schema) and we want to deserialize them, so we can ask the schema server to do that for us. In this scenario, the MessageSerializer is perfect.
Also, could be a use case that we would like to have an Application only to administrate Avro Schemas (register, update compatibilities, delete old schemas, etc.), so the SchemaRegistryClient is perfect.
The tests are run against the Schema Server using docker compose, so you will need
Docker and Docker Compose installed.
./scripts/test.sh