{"id":13420220,"url":"https://github.com/adobe-research/libkafka","last_synced_at":"2025-10-26T23:41:41.250Z","repository":{"id":137382672,"uuid":"12625054","full_name":"adobe-research/libkafka","owner":"adobe-research","description":"A C++ client library for Apache Kafka v0.8+. Also includes C API.","archived":false,"fork":false,"pushed_at":"2015-11-04T13:43:16.000Z","size":952,"stargazers_count":90,"open_issues_count":15,"forks_count":51,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-07-31T22:53:56.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adobe-research.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-05T18:14:10.000Z","updated_at":"2024-04-24T03:17:55.000Z","dependencies_parsed_at":"2023-03-13T16:16:07.899Z","dependency_job_id":null,"html_url":"https://github.com/adobe-research/libkafka","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe-research%2Flibkafka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe-research%2Flibkafka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe-research%2Flibkafka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe-research%2Flibkafka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adobe-research","download_url":"https://codeload.github.com/adobe-research/libkafka/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248228517,"owners_count":21068703,"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":"2024-07-30T22:01:29.007Z","updated_at":"2025-10-26T23:41:41.176Z","avatar_url":"https://github.com/adobe-research.png","language":"C++","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"libkafka [![Build Status](https://travis-ci.org/adobe-research/libkafka.png)](https://travis-ci.org/adobe-research/libkafka) [![Coverage Status](https://coveralls.io/repos/adobe-research/libkafka/badge.png)](https://coveralls.io/r/adobe-research/libkafka)\n========\n\nA C++ client library for Apache Kafka v0.8+. Also includes C API. With a full unit test suite.\n\nSupports the following Kafka API request/response calls:\n\n* Metadata\n* Produce\n* Fetch\n* Offset\n\nIncludes support for MessageSet compression using GZIP or Snappy compression.\n\nNot compatible with Kafka versions prior to 0.8 due to wire protocol changes.\n\nVersion\n=======\nCurrent release version: 0.5.0 (see \u003ca href=\"https://github.com/adobe-research/libkafka/releases\"\u003eRELEASES\u003c/a\u003e)\n\nDependencies\n============\n\n* zlib for CRC calculation, GZIP compression\n* Snappy for Snappy compression\n* Google Test for unit tests\n* (optional) lcov/gcov for unit test coverage reporting\n* (optional) doxygen for C/C++ API documentation\n\nInstallation\n============\n\nSupports both autoconf and maven builds:\n\nAutoconf (g++)\n* ./autogen.sh\n* ./configure \n* make (builds shared library)\n* make check (runs protocol unit tests, expects a kafka broker at host:port and with topics as specified in TestConfig.cc)\n* make rpm (packages an RPM, tested on CentOs 6.x, genearted into ./rpm/RPMS/$(arch))\n* make distcheck (produces release packages, tar.gz and tar.bz2)\n* make maintainer-clean (clean all autoconf generated files)\n* make rpm-clean (clean all artifacts of rpm, dist, and autotools)\n\nUnit test coverage reports (gcov/lcov)\n* ./autogen.sh \u0026\u0026 ./configure --enable-gcov \u0026\u0026 make \u0026\u0026 make check \u0026\u0026 make coverage-html\n* HTML reports produced in ./coveragereport\n\nMaven (clang)\n* mvn clean install (builds shared library, command line apps)\n* mvn test (runs protocol unit tests)\n\nDebugging\n* Make with -DDEBUG or uncomment -DDEBUG in the top level pom.xml, and rebuild for full protocol debugging output.\n\nValgrind\n* Valgrind currently provides a clean memory leak report for the unit test suite. Future commits will maintain this.\n* ./valgrind.sh runs the valgrind tests with suppressions for Mac OS X.\n\nExamples\n========\n\nHigh-level examples:\n* Take a look at the [![samples](samples)](samples) directory.\n\nLow-level examples:\n* Take a look at ClientTest.cc in test/src. There are examples for Metadata, Produce, Fetch, and Offsets, with all of the compression combinations.\n* Take a look at the unit tests in test/src to see examples for any individual class.\n\nTODO\n====\n* Advanced client with error handling, metadata/broker/leader updates, and offset management\n* load testing for Produce and Fetch\n\nKnown issues\n=============\n* Nested MessageSet blocks are not yet handled. This is a wonky part of the protocol.\n* The extern C wrrapper for C++ calls is not yet implemented.\n* The .deb packaging remains broken. RPM packaging is fully operational.\n\nFixed Issues\n============\n* See [![CHANGELOG](CHANGELOG)](CHANGELOG)\n\nLicense\n============\nLicensed under the Apache Software License 2.0. See [![LICENSE](LICENSE)](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadobe-research%2Flibkafka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadobe-research%2Flibkafka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadobe-research%2Flibkafka/lists"}