Django Webhooks 
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.
Metadata
Release files for django-webhook 0.0.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_webhook-0.0.15.tar.gz | 10.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_webhook-0.0.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.7 kB
Release files / django_webhook-0.0.15.tar.gz
| Download URL | django_webhook-0.0.15.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ff2628e6685cbb624d0085d4aacd5ad2147758fe040235ea1a42ace19314485b
|
|
BLAKE2b-256 checksum How to use checksums |
b572620ea7d54570572ab12895554f476f0e7560fb8f8c8cc3f27067d3df8bbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.4 Linux/5.15.0-118-generic
|
Release files / django_webhook-0.0.15-py3-none-any.whl
| Download URL | django_webhook-0.0.15-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fde8b7a02786ef34a2197bd1366ffd7eedfe49294175a739fdb4e674a877e7d3
|
|
BLAKE2b-256 checksum How to use checksums |
bd9e4c1ff8e4147d4bdcf3692387dcc485fca9fc98b3ac456f348fe263a4d030
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.4 Linux/5.15.0-118-generic
|