django_tasks_pubsub
Google Cloud Pub/Sub backend for Django tasks
Installation
Package manager
pip
pip install django_tasks_pubsub
uv
uv add django_tasks_pubsub
Add to INSTALLED_APPS
INSTALLED_APPS = [
...
"django_tasks_pubsub",
]
Settings
Idempotency check
add to settings what prefix you want for me to check idempotency
this will ensure that the task is not executed multiple times for the same message
uses django cache framework to check status of ongoing tasks
PUBSUB_CACHE_PREFIX = 'some_prefix'
Add required Google Cloud Pub/Sub settings
PUBSUB_PROJECT_ID = "your-google-cloud-project-id"
PUBSUB_DEFAULT_TOPIC_ID = "your-default-topic-id"
Add the backend to the TASKS setting
TASKS = {
"default": {
"BACKEND": "django_tasks_pubsub.PubSubBackend",
}
}
Authentication
Check out the Google Cloud Pub/Sub documentation for more information.
In short the the client works well within a Google Cloud environment.
URLs
In order to receive push messages from Google Cloud Pub/Sub, you need to register the endpoint in your project's urls.py:
from django.urls import path, include
urlpatterns = [
...
path("", include("django_tasks_pubsub.urls")),
]
This will expose the endpoint at /pubsub/push/. You should configure your Google Cloud Pub/Sub push subscription to use this endpoint (e.g. https://your-domain.com/pubsub/push/).
Usage
Configure Django task functions
from django.tasks import task
@task
def send_email(user_id):
print(f"Sending email to {user_id}")
Configure specifics for the task
Specify a topic
To specify a topic, you need to decorate the task with @task and @pubsub_task(topic="topic-name") in this order:
from django.tasks import task
from django_tasks_pubsub import pubsub_task
@task
@pubsub_task(topic_id="images")
def function(image_id: int):
...
Development
Commit Messages
All commits to this repository must follow the Conventional Commits specification.
This is required because the automated release and tagging workflow relies on conventional commit prefixes (such as feat:, fix:, chore:, docs:, etc.) to automatically calculate the next semantic version.
License
MIT
Release files for django-tasks-pubsub 0.2.2
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_tasks_pubsub-0.2.2.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_tasks_pubsub-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.4 kB
Release files / django_tasks_pubsub-0.2.2.tar.gz
| Download URL | django_tasks_pubsub-0.2.2.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
70ff3f465811159e46137d41c5acd00b9eb4b467999869c462ae21a578a9effa
|
|
BLAKE2b-256 checksum How to use checksums |
ebc83e2009c2572f7db28e1b0d825486e6790d471a7cd8a84ebd8d0c8cc62fcf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logRelease files / django_tasks_pubsub-0.2.2-py3-none-any.whl
| Download URL | django_tasks_pubsub-0.2.2-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7cc10f1a72e6d68323b338466e8a7883a90cfb65c14d9b7b8a3c1f12eb285a9
|
|
BLAKE2b-256 checksum How to use checksums |
9ce58ce1935212a9d3c9a46920374d5525d8cbfab20217c8927e543efd631f00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency log