Stream data to Apache Kafka.
Project description
django-kafka-streamer is a Django application and library for streaming data to Apache Kafka.
Features:
Setup signal handlers to ORM models to transparently send create/update/delete events to Kafka
Handle database object relations
Celery task to stream large amount of data in background
Links:
Documentation: http://django-kafka-streamer.readthedocs.io/
Consumer library: https://github.com/lostclus/aiosafeconsumer
Example application: https://github.com/lostclus/WeatherApp
Usage:
yourapp/models.py:
from django.db import models class MyModel(models.Model): field1 = models.IntegerField() field2 = models.CharField(max_length=10)
yourapp/stramers.py:
from kafkastreamer import Streamer, register from .models import MyModel @register(MyModel) class MyModelStreamer(Streamer): topic = "model-a"
yourproject/settings.py:
INSTALLED_APPS = [ ... "kafkastreamer", ] KAFKA_STREAMER = { "BOOTSTRAP_SERVERS": ["localhost:9092"], },
Any changes in MyModel data will be automatically streamed to Kafka. To force stream all data in all registered models type:
python manage.py kafkastreamer_refresh
The data streamed to the model-a Kafka topic has following structure:
{ "_time": "2023-01-01T00:00:00Z", "_type": "create", "id": 1, "field1": 1, "field2": "abc" }
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
Built Distribution
File details
Details for the file django_kafka_streamer-1.4.1.tar.gz
.
File metadata
- Download URL: django_kafka_streamer-1.4.1.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20c043e6f9d865ea32ef9ef9182e07e7be167e8cc28121fb8ca311cfb5e50167 |
|
MD5 | 3e1bd0c2eeaf66201e76eeecd021e38d |
|
BLAKE2b-256 | 6c2b4e2d275d5bb570e44c8b5af07bcdfea38824afc83d507e1c0955445d9421 |
File details
Details for the file django_kafka_streamer-1.4.1-py3-none-any.whl
.
File metadata
- Download URL: django_kafka_streamer-1.4.1-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23e672a79d39af08834c57a3434f687d30ae02d8285805953fd39414619e82b2 |
|
MD5 | 6005fa37325f2b95586bec93189f05ba |
|
BLAKE2b-256 | c8f12e1305181f75ede74762d058dd79d3d5506fedabc61f5e872fadff5d0b60 |