Skip to main content

Missing Django integration for Inngest

Project description

Django Inngest

Missing Django integration for Inngest. This package depends on the Inngest Python SDK (pypi)

Installation

uv add inngest django-inngest

Configuration

Update urls.py to include:

urlpatterns = [
    # ...
    path("api/inngest/", include("django_inngest.urls")),
    # ...
]

Update settings.py to include:

# required for inngest and production
INNGEST_EVENT_KEY = os.environ.get("INNGEST_EVENT_KEY", None)
INNGEST_SIGNING_KEY = os.environ.get("INNGEST_SIGNING_KEY", None)

# configuration
DJANGO_INNGEST_APP_ID = os.environ.get("DJANGO_INNGEST_APP_ID", "my-django-project")
DJANGO_INNGEST_IS_PRODUCTION = not DEBUG
DJANGO_INNGEST_CLIENT_LOGGER = os.environ.get(
    "DJANGO_INNGEST_CLIENT_LOGGER", "gunicorn"
)
DJANGO_INNGEST_INACTIVE_FUNCTION_IDS = os.environ.get(
    "DJANGO_INNGEST_INACTIVE_FUNCTION_IDS", []
)
DJANGO_INNGEST_AUTO_DISCOVER_FUNCTIONS = os.environ.get(
    "DJANGO_INNGEST_AUTO_DISCOVER_FUNCTIONS", True
)

Usage

Create a new Django app and workflows file:

python manage.py startapp myapp
touch myapp/workflows.py

Update INSTALLED_APPS to include myapp.

In myapp/workflows.py, create a new Inngest function:

from datetime import timedelta

import inngest
from django_inngest.client import inngest_client


@inngest_client.create_function(
    id="myapp/my-function",
    trigger=inngest.TriggerEvent(name="my/trigger/event"),
    rate_limit=inngest.RateLimit(
        limit=1,
        period=timedelta(minutes=2, seconds=30),
        key="event.data.channel_id",
    ),
)
def my_function(ctx: inngest.Context):
    print(ctx.event.data.get("channel_id"))
    # your inngest function logic here
    return "OK"

Then trigger anywhere in your Django project with:

import inngest
from django_inngest.client import inngest_client

event = inngest.Event(
    name="my/trigger/event",
    data={"channel_id": "1234567890"},
)

inngest_client.send(event)

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_inngest-0.0.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_inngest-0.0.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file django_inngest-0.0.2.tar.gz.

File metadata

  • Download URL: django_inngest-0.0.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_inngest-0.0.2.tar.gz
Algorithm Hash digest
SHA256 aea0530ea3375006548cea045b3cea0aad1d653785923bfc64c5413262e4e2b8
MD5 8821f8840ebf88917e1f40e2b13c4f3a
BLAKE2b-256 a5fade5138ec9c909e320fec30bab0cbb284dc51ce20847e9ae4107cae37b92f

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_inngest-0.0.2.tar.gz:

Publisher: main.yaml on jmitchel3/django-inngest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_inngest-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: django_inngest-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_inngest-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 50ca2f91e5799315baf0a7d5706d8243a6b2e289ebc038b7adc8a0d881c14098
MD5 3ecd4c0ca65c9acfc446f545f129e53f
BLAKE2b-256 37d05846977a55f52d8b40318c944c00c74786e55966c1524202b9a51ffb0a15

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_inngest-0.0.2-py3-none-any.whl:

Publisher: main.yaml on jmitchel3/django-inngest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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