{"id":27248834,"url":"https://github.com/bakdata/kafka-utils","last_synced_at":"2025-04-10T23:48:13.627Z","repository":{"id":282250457,"uuid":"946680152","full_name":"bakdata/kafka-utils","owner":"bakdata","description":"Utilities for working with Kafka","archived":false,"fork":false,"pushed_at":"2025-04-04T10:55:18.000Z","size":86,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T23:48:10.607Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bakdata.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-11T14:10:34.000Z","updated_at":"2025-04-04T10:55:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"fe6860f7-4e30-4070-893d-5c5707ea7799","html_url":"https://github.com/bakdata/kafka-utils","commit_stats":null,"previous_names":["bakdata/kafka-utils"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bakdata","download_url":"https://codeload.github.com/bakdata/kafka-utils/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317727,"owners_count":21083528,"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":[],"created_at":"2025-04-10T23:48:13.020Z","updated_at":"2025-04-10T23:48:13.620Z","avatar_url":"https://github.com/bakdata.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build and Publish](https://github.com/bakdata/kafka-utils/actions/workflows/build-and-publish.yaml/badge.svg)](https://github.com/bakdata/kafka-utils/actions/workflows/build-and-publish.yaml)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.bakdata.kafka%3Akafka-utils\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=com.bakdata.kafka%3Akafka-utils)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=com.bakdata.kafka%3Akafka-utils\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=com.bakdata.kafka%3Akafka-utils)\n[![Maven](https://img.shields.io/maven-central/v/com.bakdata.kafka/kafka-streams-utils.svg)](https://search.maven.org/search?q=g:com.bakdata.kafka%20AND%20a:kafka-streams-utils\u0026core=gav)\n\n# kafka-utils\nUtilities for working with Kafka\n\n## Kafka Streams Utils\n\nUtilities for working with Kafka Streams applications. This library provides:\n\n- `TopologyInformation` to parse Kafka Streams `TopologyDescription` and extract sinks and sources\n- Helpers to automatically configure Serdes for Kafka Streams applications\n\nThey are mainly used in [streams-bootstrap](https://github.com/bakdata/streams-bootstrap) and [fluent-kafka-streams-tests](https://github.com/bakdata/fluent-kafka-streams-tests), but you are free to use them in your own projects if needed.\n\n### Getting Started\n\nYou can add kafka-streams-utils via Maven Central.\n\n#### Gradle\n\n```gradle\nimplementation group: 'com.bakdata.kafka', name: 'kafka-streams-utils', version: '1.0.0'\n```\n\n#### Maven\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.bakdata.kafka\u003c/groupId\u003e\n    \u003cartifactId\u003ekafka-streams-utils\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nFor other build tools or versions, refer to\nthe [latest version in MvnRepository](https://mvnrepository.com/artifact/com.bakdata.kafka/kafka-streams-utils/latest).\n\n## Kafka BOM\n\nBOM is short for Bill of Materials.\nIt is a Maven feature that allows you to manage the versions of dependencies in a single place.\nThis project provides a BOM for Kafka dependencies, i.e., Kafka core dependencies in group `org.apache.kafka` as well as Confluent dependencies in group `io.confluent`.\n\n### Getting Started\n\nYou can add kafka-bom via Maven Central.\n\n#### Gradle\n\n```gradle\nimplementation(platform('com.bakdata.kafka:kafka-bom:1.0.0'))\n```\n\n#### Maven\n\n```xml\n\u003cdependencyManagement\u003e\n    \u003cdependencies\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003ecom.bakdata.kafka\u003c/groupId\u003e\n            \u003cartifactId\u003ekafka-bom\u003c/artifactId\u003e\n            \u003cversion\u003e1.0.1\u003c/version\u003e\n            \u003ctype\u003epom\u003c/type\u003e\n            \u003cscope\u003eimport\u003c/scope\u003e\n        \u003c/dependency\u003e\n    \u003c/dependencies\u003e\n\u003c/dependencyManagement\u003e\n```\n\nFor other build tools or versions, refer to\nthe [latest version in MvnRepository](https://mvnrepository.com/artifact/com.bakdata.kafka/kafka-bom/latest).\n\n### Usage\n\nAfter adding the BOM to your project, you can use the provided dependencies without specifying a version.\n\n#### Gradle\n\n```gradle\nimplementation group: 'org.apache.kafka' name: 'kafka-streams'\nimplementation group: 'io.confluent' name: 'kafka-streams-avro-serde'\n```\n\n#### Maven\n\n```xml\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.apache.kafka\u003c/groupId\u003e\n        \u003cartifactId\u003ekafka-streams\u003c/artifactId\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eio.confluent\u003c/groupId\u003e\n        \u003cartifactId\u003ekafka-streams-avro-serde\u003c/artifactId\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n## Development\n\nIf you want to contribute to this project, you can simply clone the repository and build it via Gradle.\nAll dependencies should be included in the Gradle files, there are no external prerequisites.\n\n```bash\n\u003e git clone git@github.com:bakdata/kafka-utils.git\n\u003e cd kafka-utils \u0026\u0026 ./gradlew build\n```\n\nPlease note, that we have [code styles](https://github.com/bakdata/bakdata-code-styles) for Java.\nThey are basically the Google style guide, with some small modifications.\n\n## Contributing\n\nWe are happy if you want to contribute to this project.\nIf you find any bugs or have suggestions for improvements, please open an issue.\nWe are also happy to accept your PRs.\nJust open an issue beforehand and let us know what you want to do and why.\n\n## License\n\nThis project is licensed under the MIT license.\nHave a look at the [LICENSE](https://github.com/bakdata/kafka-utils/blob/main/LICENSE) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakdata%2Fkafka-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbakdata%2Fkafka-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakdata%2Fkafka-utils/lists"}