Python Rest Client to interact against Schema Registry Confluent Server to manage Avro Schemas
Project description
Home-page: https://github.com/marcosschroh/python-schema-registry-client Author: Marcos Schroh Author-email: schrohm@gmail.com License: MIT Download-URL: https://pypi.org/project/python-schema-registry-client/#files Description: # Python Rest Client Schema Registry
[![Build Status](https://travis-ci.org/marcosschroh/python-schema-registry-client.svg?branch=master)](https://travis-ci.org/marcosschroh/python-schema-registry-client) [![GitHub license](https://img.shields.io/github/license/marcosschroh/python-schema-registry-client.svg)](https://github.com/marcosschroh/python-schema-registry-client/blob/master/LICENSE) [![codecov](https://codecov.io/gh/marcosschroh/python-schema-registry-client/branch/master/graph/badge.svg)](https://codecov.io/gh/marcosschroh/python-schema-registry-client) [![Python Version](https://img.shields.io/badge/python-3.6%20%7C%203.7-blue.svg)](https://img.shields.io/badge/python-3.6%20%7C%203.7-blue.svg)
Python Rest Client to interact against [schema-registry](https://docs.confluent.io/current/schema-registry/index.html) confluent server to manage [Avro Schemas](https://docs.oracle.com/database/nosql-12.1.3.1/GettingStartedGuide/avroschemas.html) resources.
## Requirements
python 3.6+, fastavro, httpx
## Installation
`bash pip install python-schema-registry-client `
If you want the Faust functionality:
`bash pip install python-schema-registry-client[faust] `
## Client API, Serializer, Faust Integration and Schema Server description
Documentation: [https://marcosschroh.github.io/python-schema-registry-client.io](https://marcosschroh.github.io/python-schema-registry-client)
## When use this library
Usually, we have a situacion like this:
![Confluent Architecture](docs/img/confluent_architecture.png)
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.
## Development
The tests are run against the Schema Server using docker compose, so you will need Docker and Docker Compose installed.
`bash ./scripts/test `
Run code linting:
`bash ./scripts/lint `
Keywords: Schema Registry,Python,Avro,Apache,Apache Avro Platform: UNKNOWN Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Topic :: Software Development Description-Content-Type: text/markdown Provides-Extra: faust
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for python-schema-registry-client-1.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c563a656f79c0ec1a895f0abd7b6c08e4732672be4ed2eaa8abd4c6c86b52e0 |
|
MD5 | 34b3ac818745ed87ba2896b2286ffb03 |
|
BLAKE2b-256 | 81069ba67f4a3e398a487885773df1cd5ce7a258b7b71888040b1e1342281562 |