Skip to main content

Provides a Kafka implementation of the ChannelInput/OutputPort in pypz.

Project description

Description

This package contains the Kafka implementation of the Input-/OutputPortPlugin interface of pypz. It enables the operators to send and receive data records in a real streaming fashion.

Check the documentation for more details.

Install

The python artifact is hosted on https://pypi.org/, so you can install it via pip:

pip install pypz-kafka-io

If you want to work on it locally, then you should install in editable mode:

pip install -e ./plugins/kafka_io

Test

You can run tests against an existing Kafka cluster, however, it is more convenient and safe to use a local test cluster.

  1. Run the confluent image to start a local cluster
docker run --name kafka-test-cluster -d --rm -p 9092:9092 confluentinc/confluent-local
  1. Install the subproject in editable more.
pip install -e ./plugins/kafka_io
  1. To run the tests locally, you need to execute the following command:
python -m unittest discover .\plugins\kafka_io\test\ -p "*.py"
  1. Delete cluster
docker stop kafka-test-cluster

Known issues

Due to the fact that the test execution is sometimes faster than the Kafka cluster, there might be failed tests. Although there are already several delays inserted into the test code, it still can happen. Try to rerun the test and give a notification to the maintainer(s). Thank you.

Build

Before you build, you will need to install the "build" package:

pip install build

Optionally, you might want to set a version for local testing. Using setuptools-scm, you can pretend a version via setting the following environment variable:

# Powershell
$env:SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYPZ_KAFKA_IO="v1.2.3"

# Linux
export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYPZ_KAFKA_IO="v1.2.3"

Then from the subproject's root, you will need to execute the following command:

python -m build

It will create the source distribution and the wheel file in the "dist" folder.

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

pypz_kafka_io-0.10.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

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

pypz_kafka_io-0.10.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file pypz_kafka_io-0.10.0.tar.gz.

File metadata

  • Download URL: pypz_kafka_io-0.10.0.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pypz_kafka_io-0.10.0.tar.gz
Algorithm Hash digest
SHA256 abd7e18cd1a58dcbee830ea2b81451cfbd4e39cc70ab1aac05b29e3d60aefa0a
MD5 b84b9eb255d422b37b5bed81ca39ec48
BLAKE2b-256 0e35e185bb2d3937f3583ed9b8f99a07834c4e9b35ea2e05b8b1f363784ff33d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypz_kafka_io-0.10.0.tar.gz:

Publisher: publish.yml on lazlowa/pypz-python

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

File details

Details for the file pypz_kafka_io-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: pypz_kafka_io-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pypz_kafka_io-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75ed1ba6dbe797bceec57c7558965bb3798c7075099b9160a9021015262766f8
MD5 72585017be2fee2bc66f54ad88e3e673
BLAKE2b-256 d19f652921ee62d13de21850a4d8c88b791fe09c2ebbe463b6999da620b10f3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypz_kafka_io-0.10.0-py3-none-any.whl:

Publisher: publish.yml on lazlowa/pypz-python

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