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.1.tar.gz (19.7 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.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pypz_kafka_io-0.10.1.tar.gz
  • Upload date:
  • Size: 19.7 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.1.tar.gz
Algorithm Hash digest
SHA256 1db39f34befe1b822ece34fb40d6b5036ee9fee0ae86f38285838f473e0fca42
MD5 268339da3e6a042cb111c408fe166e52
BLAKE2b-256 c29aab3b7b4a85386ff59e195b08ac0304561d4799038cb3098fc91dfb3e12c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypz_kafka_io-0.10.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: pypz_kafka_io-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 13.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0d5cc14053c79c6e25ed082f52769f881dd09d3d1483f42255246ee08ed5d8f
MD5 91a27ee27e34f953043ba20665e2c997
BLAKE2b-256 cd901c0704531edaea5892809ec77fb48cc5bf2471b588ce452f4e3c0601e797

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypz_kafka_io-0.10.1-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