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