Skip to main content

Python Rest Client to interact against Schema Registry Confluent Server to manage Avro Schemas

Project 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>=0.22.3, requests>=2.22.0

## Installation

` pip install python-schema-registry-client ` If you want the Faust functionality:

` 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.

## Run Tests

The tests are run against the Schema Server using docker compose, so you will need Docker and Docker Compose installed.

`bash ./scripts/test.sh `

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-schema-registry-client-1.0.0.tar.gz (15.1 kB view details)

Uploaded Source

File details

Details for the file python-schema-registry-client-1.0.0.tar.gz.

File metadata

  • Download URL: python-schema-registry-client-1.0.0.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.6

File hashes

Hashes for python-schema-registry-client-1.0.0.tar.gz
Algorithm Hash digest
SHA256 07220ca3eeefdef1ec7fac888b6ee49e3053d747176fa361980250e2698420d7
MD5 599d674dd330c07be443d9df2ae73bf6
BLAKE2b-256 b5430a30ee11bf96e9e3182a87526376f1e3af7195eae8635a6b6ba0d33e909d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page