{"id":13692889,"url":"https://github.com/ovotech/kafka-avro-confluent","last_synced_at":"2025-04-13T20:29:20.212Z","repository":{"id":53156068,"uuid":"100406023","full_name":"ovotech/kafka-avro-confluent","owner":"ovotech","description":"Kafka De/Serializer using avro and Confluent's Schema Registry","archived":false,"fork":false,"pushed_at":"2021-05-30T00:20:22.000Z","size":111,"stargazers_count":20,"open_issues_count":2,"forks_count":5,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-04-25T08:20:26.455Z","etag":null,"topics":["avro","company-kaluza","confluent","kafka"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ovotech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-15T18:16:31.000Z","updated_at":"2023-11-24T10:56:39.000Z","dependencies_parsed_at":"2022-08-31T14:02:12.458Z","dependency_job_id":null,"html_url":"https://github.com/ovotech/kafka-avro-confluent","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovotech%2Fkafka-avro-confluent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovotech%2Fkafka-avro-confluent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovotech%2Fkafka-avro-confluent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovotech%2Fkafka-avro-confluent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ovotech","download_url":"https://codeload.github.com/ovotech/kafka-avro-confluent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229089204,"owners_count":18018390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avro","company-kaluza","confluent","kafka"],"created_at":"2024-08-02T17:01:03.192Z","updated_at":"2024-12-10T16:10:14.364Z","avatar_url":"https://github.com/ovotech.png","language":"Clojure","funding_links":[],"categories":["Avro \u0026 Confluent Schema Registry"],"sub_categories":[],"readme":"# kafka-avro-confluent [![CircleCI](https://circleci.com/gh/ovotech/kafka-avro-confluent.svg?style=svg)](https://circleci.com/gh/ovotech/kafka-avro-confluent)\n\nKafka De/Serializer using avro and Confluent's Schema Registry\n\n## Migrating from 1.1.1-4 -\u003e 1.1.1-5+\n\n1.1.1-5 adds support for logical types. This support is automatic and will be used both in serialisation and deserialisation.\nIf you need to deserialise to the underlying primitive types you will need to disable logical type conversion\nat the point of creating your deserialiser i.e.\n\n```clojure\n(des/-\u003eavro-deserializer schema-registry :convert-logical-types? false)\n```\n\n## Usage\n\n[![Clojars Project](https://img.shields.io/clojars/v/ovotech/kafka-avro-confluent.svg)](https://clojars.org/ovotech/kafka-avro-confluent)\n```\n[ovotech/kafka-avro-confluent \"2.1.0-7\"]\n```\n\n\n```clojure\n(ns kafka-avro-confluent.readme-test\n  (:require [kafka-avro-confluent.v2.deserializer :as des]\n            [kafka-avro-confluent.v2.serializer :as ser]))\n\n;; initialise the Confluent Schema Registry client:\n(def config\n  {;; NOTE auth optional!\n   ;; :schema-registry/username \"mr.anderson\"\n   ;; :schema-registry/password \"42\"\n   :schema-registry/base-url \"http://localhost:8081\"})\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; # Deserializer\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; implements org.apache.kafka.common.serialization.Deserializer\n\n(des/-\u003eavro-deserializer config)\n\n;; Without using logical types\n(binding [abracad.avro.conversion/*use-logical-types* false]\n  (des/-\u003eavro-deserializer schema-registry))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; # Serializer\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; implements org.apache.kafka.common.serialization.Serializer\n\n;; meant to be used as a value-serializer in a KafkaProducer\n(ser/-\u003eavro-serializer config schema)\n\n;; If you want to use it as a key-serializer:\n(ser/-\u003eavro-serializer config :key schema)\n\n;; Using with a KafkaProducer:\n;; e.g. (org.apache.kafka.clients.producer.KafkaProducer. key-serializer\n;;                                                        value-serializer)\n\n;; If the serializer will be used with multiple topics (each with its own schema):\n(ser/-\u003eavro-serializer config (ser/-\u003eschemas-definition {topic1 schema1\n                                                         topic2 schema2}))\n\n```\n\n\n## Versions\n\nThe versions use this format:\n\n```bash\n${kafka_version}-${build_number}\n```\n\nFor example:\n\n```ruby\n0.10.0-4 # Kafka v = 0.10.0, kafka-avro-confluent build = 4\n1.0.1-1  # Kafka v = 1.0.1 , kafka-avro-confluent build = 1\n```\n\n## License\n\nCopyright © 2017 OVO Energy Ltd.\n\nDistributed under the Eclipse Public License either version 1.0 or (at\nyour option) any later version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovotech%2Fkafka-avro-confluent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fovotech%2Fkafka-avro-confluent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovotech%2Fkafka-avro-confluent/lists"}