Skip to main content

Stream data to Apache Kafka.

Project description

https://github.com/lostclus/django-kafka-streamer/actions/workflows/tests.yml/badge.svg Documentation Current version on PyPi PyPI - Python Version PyPI - Django Version Published on Django Packages

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:

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

django_kafka_streamer-1.4.1.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

django_kafka_streamer-1.4.1-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

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

Hashes for django_kafka_streamer-1.4.1.tar.gz
Algorithm Hash digest
SHA256 20c043e6f9d865ea32ef9ef9182e07e7be167e8cc28121fb8ca311cfb5e50167
MD5 3e1bd0c2eeaf66201e76eeecd021e38d
BLAKE2b-256 6c2b4e2d275d5bb570e44c8b5af07bcdfea38824afc83d507e1c0955445d9421

See more details on using hashes here.

File details

Details for the file django_kafka_streamer-1.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_kafka_streamer-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 23e672a79d39af08834c57a3434f687d30ae02d8285805953fd39414619e82b2
MD5 6005fa37325f2b95586bec93189f05ba
BLAKE2b-256 c8f12e1305181f75ede74762d058dd79d3d5506fedabc61f5e872fadff5d0b60

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page