Skip to main content

Singer target for Kafka, built with the Meltano Singer SDK.

Project description

target-kafka

target-kafka is a Singer target for Apache Kafka, built with the Meltano Singer SDK. It writes tap output to Kafka topics (one topic per stream) with configurable batching, compression, and message keys. Delivery is at-least-once: on failure, records may be retried and duplicates are possible.

Installation

Install from PyPI:

uv tool install target-kafka

Install from GitHub (replace your-org with your GitHub org or username):

uv tool install git+https://github.com/your-org/target-kafka.git@main

Publishing: To publish to PyPI and add this loader to Meltano Hub, see docs/PUBLISHING.md.

Configuration

Accepted config options

Setting Required Default Description
bootstrap_servers Yes Kafka bootstrap servers (comma-separated, e.g. localhost:9092,localhost:9093)
topic_prefix No "" Prefix to add to all topic names
key_properties No [] Record properties to use as Kafka message key (empty = round-robin partition)
batch_size No 100 Number of records to batch before sending to Kafka
compression_type No snappy Kafka message compression: none, gzip, snappy, lz4, zstd
include_sdc_properties No true Include Meltano metadata (_sdc_extracted_at, _sdc_received_at, etc.)

A full list of supported settings and capabilities is available by running:

target-kafka --about

Configure using environment variables

With --config=ENV, the target reads configuration from environment variables (and from a .env file in the working directory if present). Use names like TARGET_KAFKA_BOOTSTRAP_SERVERS, TARGET_KAFKA_TOPIC_PREFIX, etc. See .env.example for a template.

Usage

Run with Meltano

You can run target-kafka in a pipeline using Meltano:

meltano run tap-smoke-test target-kafka

Run the target directly

target-kafka --version
target-kafka --help

# Example with config file
tap-smoke-test | target-kafka --config config.json

# Example with env config
tap-smoke-test | target-kafka --config ENV

This target works in any Singer environment and does not require Meltano.

Developer resources

Prerequisites

  • Python 3.10+
  • uv

Setup and tests

uv sync
uv run pytest
uv run target-kafka --help

Testing with Meltano

uv tool install meltano
meltano invoke target-kafka --version
meltano run tap-smoke-test target-kafka

SDK dev guide

See the Singer SDK dev guide for developing taps and targets.

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

target_kafka-0.1.0.tar.gz (165.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

target_kafka-0.1.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file target_kafka-0.1.0.tar.gz.

File metadata

  • Download URL: target_kafka-0.1.0.tar.gz
  • Upload date:
  • Size: 165.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for target_kafka-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d92cca2a5be13ae2b94729ebc4ca3e5d5dae4e63faf8cbcc4ed26ede430d7c42
MD5 6804189ac453a2f97a548a8bb7b1bc9e
BLAKE2b-256 ae81eb0818f94e42da1204de001f01629c6505be4218a1e2737c52cbf70283a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for target_kafka-0.1.0.tar.gz:

Publisher: build.yml on rishipradeep-think41/target-kafka

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file target_kafka-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: target_kafka-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for target_kafka-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adef33d7bd3dc327071704ebd4e3f64f864d3f9404fd07ae697da213b66446b3
MD5 da4582dd36f609231c99a52d5be56d08
BLAKE2b-256 fc0c8d3a291e54babd6ec9cc03b13f4ac72c5c5a0cf65b65b235ec305ce9fe8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for target_kafka-0.1.0-py3-none-any.whl:

Publisher: build.yml on rishipradeep-think41/target-kafka

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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