DjangoGCP
Helps you to run Django on Google Cloud Platform:
- Storage (including direct uploads)
- Events (PubSub)
- Tasks (ad-hoc and scheduled)
- Logging (pretty colours and labels) and
- Error Reporting.
Read the documentation here.
This app is maintained by Octue - we're on a mission to help climate scientists and energy engineers be more efficient. Find out more. If you need some help implementing django-gcp, or wish to sponsor a feature or any of the issues on the board, we can help! Raise an issue or contact us.
Are you from GCP??
If so, get in touch for a chat. We're doing fun things with Google Cloud. Way funner than boring old django... :)
All the ❤️
This app is based heavily on django-storages, django-google-cloud-tasks and uses the django-rabid-armadillo template. Big love.
Contributing
It's pretty straightforward to get going, but it's good to get in touch first, especially if you're planning a big feature.
Set up
Open the project in codespaces, a vscode .devcontainer (which is configured out of the box for you) or your favourite IDE or editor (if the latter you'll need to set up docker compose yourself).
Create a file .devcontainer/docker-compose.developer.yml. This allows you to customise extra services and volumes you make available to the container.
For example, you can map your own gcloud config folder into the container to use your own credentials. This example will get you going, but you can just leave the services key empty.
version: "3.8"
services:
web:
volumes:
- ..:/workspace:cached
- $HOME/.config/gcloud:/gcp/config
environment:
- CLOUDSDK_CONFIG=/gcp/config
- GOOGLE_APPLICATION_CREDENTIALS=/gcp/config/your-credentials-file.json
Initialise gcloud CLI
To sign in (enabling use of the gcloud CLI tool), do:
gcloud config set project octue-django-gcp
gcloud auth login
Run the tests
Run the tests:
pytest .
We use pre-commit to ensure code quality standards (and to help us automate releases using conventional-commits). If you can get on board with this that's really helpful - if not, don't fret, we can help.
Use the example app
You can start the example app (which is useful for seeing how django-gcp looks in the admin.
Initially, do:
python manage.py migrate
python manage.py createsuperuser
# make yourself a user account at the prompt
Then to run the app, do:
python manage.py runserver
...and visit http://localhost:8000/admin/ to sign in.
Update the docs
We're pretty good on keeping the docs helpful, friendly and up to date. Any contributions should be fully documented.
The docs are written in Markdown and built with Zensical. To develop them with live reload, start the dev server and open the URL it prints:
uv run --group docs zensical serve
Read the Docs builds and publishes the site from .readthedocs.yaml on each push. Redirects
from the old Sphinx page URLs are mapped in scripts/rtd_redirects.toml; if you change the
docs structure, add redirects there and sync them with python scripts/sync_rtd_redirects.py.
Metadata
Release files for django-gcp 0.28.0
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_gcp-0.28.0.tar.gz | 83.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_gcp-0.28.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 151.9 kB
Release files / django_gcp-0.28.0.tar.gz
| Download URL | django_gcp-0.28.0.tar.gz |
|---|---|
| Size | 83.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a0366ef23f2b4449ce176934b417d792f1b3751d506ef7779666c011acd46fba
|
|
BLAKE2b-256 checksum How to use checksums |
8313daf9ab8f0d5c2e2d53ad999bdd3da125fb102d85cc9436f2591df0d47201
|
| 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 20, 2026.
Transparency logRelease files / django_gcp-0.28.0-py3-none-any.whl
| Download URL | django_gcp-0.28.0-py3-none-any.whl |
|---|---|
| Size | 68.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62d90904d921d112986acfe232414ffe3c8d28355065845ff0983ab5485a5e3d
|
|
BLAKE2b-256 checksum How to use checksums |
ada646de637988d559b568b493f131c0d6c106a9835246b2e1640de7539c1bc5
|
| 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 20, 2026.
Transparency log