Skip to main content

A Django app to store an event and publish the event to Kafka

Project description

Create an event from Django ORM object model, store the event into the database and also publish it into Kafka cluster.

Quick start

  1. Install the package:

    pip install django-kafka-event-log
  2. In your project’s settings.py, include the app and add credentials for Kafka:

    INSTALLED_APPS = [
        ...
        'events',
    ]
    
    KAFKA_GROUP = 'KAFKA_GROUP'
    KAFKA_BOOTSTRAP_SERVERS = 'KAFKA_BOOTSTRAP_SERVERS'
    KAFKA_SECURITY_PROTOCOL = 'KAFKA_SECURITY_PROTOCOL'
    KAFKA_SASL_MECHANISMS = 'KAFKA_SASL_MECHANISMS'
    KAFKA_SASL_USERNAME = 'KAFKA_SASL_USERNAME'
    KAFKA_SASL_PASSWORD = 'KAFKA_SASL_PASSWORD'
  3. Note: the credential should be read from environment variables.

  4. This application has only 1 interface; it is PublishKafkaEventUtil. Given myapp is where the model object locates, MyModelSerializer is the data presenter, we can call the Util like this:

    from events.utils import PublishKafkaEventUtil
    from myapp.serializers.mymodel_serializer import MyModelSerializer
    
    PublishKafkaEventUtil.call(
        event_name='Created',
        model_object=model_obj,
        serializer=ModelSerializer,
        metadata={'purpose': 'testing'},
    )
https://codecov.io/gh/DiagVN/django-kafka-event-log/branch/develop/graph/badge.svg?token=2FtNkItJO7

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-event-log-0.1.6.tar.gz (9.6 kB view details)

Uploaded Source

File details

Details for the file django-kafka-event-log-0.1.6.tar.gz.

File metadata

  • Download URL: django-kafka-event-log-0.1.6.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6

File hashes

Hashes for django-kafka-event-log-0.1.6.tar.gz
Algorithm Hash digest
SHA256 ed7eb601e4446430ec178ff7be9820aeff37107c6f2552f93a4d9ebee8c836c9
MD5 a3639aacff33eb0f7a563629d0cfa7c7
BLAKE2b-256 62c8713c9ba9448eda6ba0e45f1ada93fd8a5e7a96c37e27a43d93d1c6cf59af

See more details on using hashes here.

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