Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

django-absurd

CI Coverage PyPI Python versions Django versions License

Run background tasks and durable workflows in Django on Postgres. Plugs Absurd, a Postgres-native workflow engine, into Django's Tasks framework, reusing the database connection your project already has.

Beta. The API is settling ahead of 1.0; behavior may still change.

Install

uv add django-absurd --prerelease allow    # or: pip install --pre django-absurd

Only pre-releases are published before 1.0, hence the flags. Needs Python 3.12+, Django 6.0+, and PostgreSQL on the psycopg (v3) driver — Absurd reuses Django's connection, so psycopg2 won't work.

Quickstart

# settings.py
INSTALLED_APPS = [
    # ...
    "django_absurd",
]

TASKS = {
    "default": {
        "BACKEND": "django_absurd.backends.AbsurdBackend",
    },
}
python manage.py migrate    # installs the Absurd schema, provisions declared queues
from django.tasks import task


@task
def add(a: int, b: int) -> int:
    return a + b


result = add.enqueue(2, 3)   # returns a TaskResult; a worker runs it
python manage.py absurd_worker

That's the whole loop. The "default" queue is declared for you, so migrate provisions it without any QUEUES setting of your own.

Documentation

  • Documentation — tasks, workflows, cron jobs, workers, cleanup, monitoring, testing, and configuration.
  • Runnable examples — three dockerized nanodjango demos (web enqueue+result, beat, and pg_cron), each with one docker compose up.

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_absurd-1.0.0b1.tar.gz (137.2 kB view details)

Uploaded Source

Built Distribution

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

django_absurd-1.0.0b1-py3-none-any.whl (158.3 kB view details)

Uploaded Python 3

File details

Details for the file django_absurd-1.0.0b1.tar.gz.

File metadata

  • Download URL: django_absurd-1.0.0b1.tar.gz
  • Upload date:
  • Size: 137.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for django_absurd-1.0.0b1.tar.gz
Algorithm Hash digest
SHA256 c72e42c42b38155c37650020259b9367937f847e2b968c75947f1561e24abfc6
MD5 0efd1e1541440e4d32da594d6b5769dd
BLAKE2b-256 b5c640ce43893d599981606cd7c38ba5a03916fe59eaca24cdc32f7f5be67da7

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_absurd-1.0.0b1.tar.gz:

Publisher: publish.yml on lincolnloop/django-absurd

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_absurd-1.0.0b1-py3-none-any.whl.

File metadata

  • Download URL: django_absurd-1.0.0b1-py3-none-any.whl
  • Upload date:
  • Size: 158.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for django_absurd-1.0.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 09da5ecdf21d522c0e78cc0093991f5de9cbccb757e5bd8abd8f2fd1a7ffb304
MD5 d045a2c9b353c6c5225cd07b54c0ca64
BLAKE2b-256 fca502945afe0fe630a16950d5469af1730f2daa10e0da235f8d57ff67071e7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_absurd-1.0.0b1-py3-none-any.whl:

Publisher: publish.yml on lincolnloop/django-absurd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page