Skip to main content

No project description provided

Project description

Django Webhooks badge

A plug-and-play Django app for sending outgoing webhooks on model changes.

Django has a built-in signal system which allows programmers to schedule functions to be executed on model changes. django-webhook leverages the signal system together with Celery to send HTTP requests when models change.

Suppose we have a User model

class User(models.Model):
    name = models.CharField(max_length=50)
    age = models.PositiveIntegerField()

If a webhook is configured, any time the above model is created, updated or deleted django-webhook will send an outgoing HTTP request to a third party:

POST HTTP/1.1
host: webhook.site
user-agent: python-urllib3/2.0.3
django-webhook-uuid: 5e2ee3ba-905e-4360-94bf-18ef21c0e844
django-webhook-signature-v1:
django-webhook-request-timestamp: 1697818014

{
  "topic": "users.User/create",
  "object": {
    "id": 3,
    "name": "Dani Doo",
    "age": 30
  },
  "object_type": "users.User",
  "webhook_uuid": "5e2ee3ba-905e-4360-94bf-18ef21c0e844"
}

🔥 Features

  • Automatically sends webhooks on model changes
  • Leverages Celery for processing
  • Webhook authentication using HMAC
  • Retries with exponential backoff
  • Admin integration
  • Audit log with past webhook events
  • Protection from replay attacks
  • Allows rotating webhook secrets

📖 Documentation

https://django-webhook.readthedocs.io

Contributors

Made with contrib.rocks.

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_webhook-0.0.15.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

django_webhook-0.0.15-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file django_webhook-0.0.15.tar.gz.

File metadata

  • Download URL: django_webhook-0.0.15.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/5.15.0-118-generic

File hashes

Hashes for django_webhook-0.0.15.tar.gz
Algorithm Hash digest
SHA256 ff2628e6685cbb624d0085d4aacd5ad2147758fe040235ea1a42ace19314485b
MD5 882882ce5a582747962cf710e4db12e4
BLAKE2b-256 b572620ea7d54570572ab12895554f476f0e7560fb8f8c8cc3f27067d3df8bbd

See more details on using hashes here.

File details

Details for the file django_webhook-0.0.15-py3-none-any.whl.

File metadata

  • Download URL: django_webhook-0.0.15-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/5.15.0-118-generic

File hashes

Hashes for django_webhook-0.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 fde8b7a02786ef34a2197bd1366ffd7eedfe49294175a739fdb4e674a877e7d3
MD5 48f3781d772fe80af5b2cb2752d3fdce
BLAKE2b-256 bd9e4c1ff8e4147d4bdcf3692387dcc485fca9fc98b3ac456f348fe263a4d030

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