Python adapter for Kafka
Project description
NAAS-PYTHON-KAFKA
This is the Kafka adapter for Python: it allows you to easily connect Python services to Apache Kafka via Python.
The implementation is a wrapper around Confluent-Kafka-Python:
- AVRO schema's and messages: both key's and values should have a schema. as explained here.
- Kafka consumer and producer for the test-bed topics.
- Management
- Heartbeat (topic: system-heartbeat), so you know which clients are online. Each time the test-bed-adapter is executed, it starts a heartbeat process to notify the its activity to other clients.
Installation
You need to install Python 3+.
To run the examples you will need to install the dependencies specified on the file requirements.txt.
For that, run
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt # Or instead of `pip`, use `pip3`
from the project folder.
Examples and usage
url_producer
: Creates a message with 4 URLs to RSS feeds on the topic (system_rss_urls
)rss_producer
: Listens to URL messages (system_rss_urls
) and produces RSS messages (system_rss_urls
)rss_consumer
: Listens to RSS messages (system_rss_urls
) and prints them to console.
Uploading to PyPi
-
Ensure you have the necessary tools installed: Make sure you have
setuptools
andwheel
installed. You can install them usingpip
:# Build the distribution files: In the root directory of your project, run the following command to build the distribution files (wheel and source distribution): pip install setuptools wheel
-
Build the distribution files: In the root directory of your project, run the following command to build the distribution files (wheel and source distribution):
# This command will generate the distribution files inside the dist directory. python setup.py sdist bdist_wheel
This command will generate the distribution files inside the dist directory.
-
Register an account on PyPI: If you haven't done so already, create an account on PyPI and verify your email address.
-
Install and configure
twine
: Installtwine
, a tool used to upload packages to PyPI, usingpip
:# Upload the package to PyPI: Use twine to upload the distribution files to PyPI: pip install twine
-
Upload the package to PyPI: Use twine to upload the distribution files to PyPI:
# This command will prompt you to enter your PyPI username and password. Once provided, twine will upload the distribution files to PyPI. twine upload dist/*
This command will prompt you to enter your PyPI username and password. Once provided, twine will upload the distribution files to PyPI.
-
Verify the package on PyPI: Visit your package page on PyPI to ensure that the package has been successfully uploaded and published.
Remember to update the version number in your
setup.py
file for each new release to avoid conflicts.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file osint-python-test-bed-adapter-2.4.2.tar.gz
.
File metadata
- Download URL: osint-python-test-bed-adapter-2.4.2.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 495060ab9812c3a0e60ed9d933456fab89018ff74dcfc4675a1f3c28db9cd147 |
|
MD5 | 7bcaa4557be1d95430b43fdb5a187ca8 |
|
BLAKE2b-256 | 5ab67b84259e2040b46db23ea0ef842da80e5996dbd3b33fdc8e140261b0140b |
File details
Details for the file osint_python_test_bed_adapter-2.4.2-py3-none-any.whl
.
File metadata
- Download URL: osint_python_test_bed_adapter-2.4.2-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5507df761e8fb23a3a4e5759dee54a7a2dfe99bc959dbda0ad23242f28b3341 |
|
MD5 | 4be0018a04ee950bf7425cb9ad9820b6 |
|
BLAKE2b-256 | a8923743ef5956a52504479b54f4491650fedb85097ff24ccd898230683bd709 |