{"id":18914582,"url":"https://github.com/fyndiq/confluent_kafka_helpers","last_synced_at":"2025-08-20T18:34:23.423Z","repository":{"id":24240716,"uuid":"100951304","full_name":"fyndiq/confluent_kafka_helpers","owner":"fyndiq","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-21T14:35:41.000Z","size":296,"stargazers_count":14,"open_issues_count":3,"forks_count":5,"subscribers_count":27,"default_branch":"master","last_synced_at":"2024-12-10T04:05:46.681Z","etag":null,"topics":["client","confluent","helpers","kafka","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fyndiq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-21T12:42:41.000Z","updated_at":"2024-11-05T12:10:52.000Z","dependencies_parsed_at":"2024-11-08T10:12:08.080Z","dependency_job_id":"f0af7834-bfe6-40b7-bcfa-1c8ba5100487","html_url":"https://github.com/fyndiq/confluent_kafka_helpers","commit_stats":{"total_commits":272,"total_committers":16,"mean_commits":17.0,"dds":0.5073529411764706,"last_synced_commit":"9dd7aab6b2ee7557f723539123e4c1ae72787ebe"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyndiq%2Fconfluent_kafka_helpers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyndiq%2Fconfluent_kafka_helpers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyndiq%2Fconfluent_kafka_helpers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyndiq%2Fconfluent_kafka_helpers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fyndiq","download_url":"https://codeload.github.com/fyndiq/confluent_kafka_helpers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230445927,"owners_count":18227060,"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":["client","confluent","helpers","kafka","python"],"created_at":"2024-11-08T10:11:59.177Z","updated_at":"2024-12-19T14:08:26.543Z","avatar_url":"https://github.com/fyndiq.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Confluent Kafka helpers\n\n[![build](https://circleci.com/gh/fyndiq/confluent_kafka_helpers/tree/master.svg?style=shield)](https://circleci.com/gh/fyndiq/confluent_kafka_helpers/tree/master)\n[![version](https://img.shields.io/pypi/v/confluent-kafka-helpers.svg)](https://pypi.org/project/confluent-kafka-helpers/)\n[![downloads](https://img.shields.io/pypi/dm/confluent-kafka-helpers.svg)](https://pypi.org/project/confluent-kafka-helpers/)\n[![license](https://img.shields.io/pypi/l/confluent-kafka-helpers.svg)](https://pypi.org/project/confluent-kafka-helpers/)\n\nLibrary built on top of [Confluent Kafka\nPython](https://github.com/confluentinc/confluent-kafka-python) adding\nabstractions for consuming and producing messages in a more Pythonic way.\n\n## OpenTelemetry (OTEL)\n\n### Test generation of spans\n\nMake sure you have `opentelemetry-sdk` installed.\n\nAdd this code to your applications entry point as early as possible, e.g:\n\n```python\nfrom opentelemetry import trace\nfrom opentelemetry.sdk.trace import TracerProvider\nfrom opentelemetry.sdk.trace.export import BatchSpanProcessor, ConsoleSpanExporter\n\nprovider = TracerProvider()\nprocessor = BatchSpanProcessor(ConsoleSpanExporter())\nprovider.add_span_processor(processor)\ntrace.set_tracer_provider(provider)\n\n...\nconsumer = init_app()\nconsumer.consume()\n```\n\nAll spans will now be printed to the std out instead of getting exported.\n\n**NOTE!** This will most probably conflict if you use another SDK, e.g: `ddtrace` with OTEL enabled\n(`DD_TRACE_OTEL_ENABLED=true`), since it will set up it's own read-only tracer provider. This is mainly for debugging\nthe generated spans from an OTEL point of view. Once verified, you should also test with your preferred SDK/exporter.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffyndiq%2Fconfluent_kafka_helpers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffyndiq%2Fconfluent_kafka_helpers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffyndiq%2Fconfluent_kafka_helpers/lists"}