Skip to main content

djangocloud-cli

og-image

Deploying a Django app shouldn't be a hassle.

No Dockerfiles. No load balancers. No server to babysit. You add one package to your project, sign in, and DjangoCloud takes care of the rest, running your app on AWS.

pip install djangocloud-cli
python manage.py djangocloud login
python manage.py djangocloud deploy

That's the whole idea: a few commands, from the project you already have.

Early release. Sign-in, linking a project and the interactive setup work today. The upload-and-deploy step is still being built, and deploy will say so rather than pretend. Follow along atUploading og-image.png…

djangocloud.dev.

Get started

  1. Install it in your Django project's environment:

    pip install djangocloud-cli
    
  2. Add it to INSTALLED_APPS in your settings:

    INSTALLED_APPS = [
        # ...
        "djangocloud_cli",
    ]
    
  3. Sign in. No password to type into a terminal: you approve a short code in your browser.

    python manage.py djangocloud login
    
  4. Deploy. The first time, it asks a couple of friendly questions (which project, what size of server) and shows the monthly price before anything is created. After that it remembers.

    python manage.py djangocloud deploy
    

You need a DjangoCloud account with a card on file to create projects.

What it looks like

$ python manage.py djangocloud deploy
You're not signed in yet.
Open https://djangocloud.dev/dashboard/cli/?code=ABCD-EFGH and check that the code is ABCD-EFGH.
✓ Signed in as you@example.com
? Which project is this?  Create a new project
? Server size  Nano  0.25 vCPU, 0.5 GB RAM  $10/month
? This will cost $10 per month. Continue? Yes
✓ Linked to my-shop (.djangocloud/config.json)

Features

Everything runs through manage.py

All commands live under python manage.py djangocloud. Run it with no arguments, or use help, to see them all.

Command What it does
login Sign in by approving a code in your browser
logout Forget the stored token
whoami Show who you're signed in as, and which project this folder deploys to
link Pick or create the project this folder deploys to
unlink Detach this folder from its project
deploy Link the folder if needed, then deploy (upload and build: coming)
logs Show a project's logs (coming)
status Show the current release and its state (coming)
help [command] Help for everything, or for one command

A standalone djangocloud command is installed as well, with the same commands and no manage.py. It's handy when your project's settings won't load.

Smooth, guided setup

Arrow-key menus, clear prices up front and no surprises. Nothing is created until you confirm.

Your folder remembers its project

.djangocloud/config.json records which project a folder deploys to. It holds no secrets, and a .gitignore inside the folder keeps it out of your repository. After the first run there are no prompts.

Safe sign-in

Login uses a short code you approve in the browser, so no password or key is ever typed into the terminal. The token is stored in ~/.config/djangocloud/credentials.json, readable only by you. You can see and revoke tokens any time under Command line in your dashboard.

Works in CI, no questions asked

For GitHub Actions and similar, create a token under Command line → Token for CI and save it as the repository secret DJANGOCLOUD_TOKEN. --no-input makes the CLI never prompt and never open a browser, and fail with a clear message if something is missing.

- run: pip install djangocloud-cli
- run: python manage.py djangocloud deploy --no-input --project my-shop
  env:
    DJANGOCLOUD_TOKEN: ${{ secrets.DJANGOCLOUD_TOKEN }}

To create a project from CI, give it everything up front: --name "My Shop" --size nano.

Configuration

Variable Purpose
DJANGOCLOUD_TOKEN API token for CI. Takes precedence over the stored login
DJANGOCLOUD_NO_INPUT Same as --no-input (set it to 1)
DJANGOCLOUD_API API base URL (default https://djangocloud.dev/api/v1)

Requirements

Python 3.10 or newer and Django 4.2 or newer.

Development

uv sync
uv run pytest
uv run ruff check

Every push to main is released automatically: the tests run, the patch version goes up by one (0.1.1 becomes 0.1.2), the package is published to PyPI and a GitHub Release is created. There are no version numbers to edit.

For a bigger bump, tag it yourself before the next push (git tag v0.2.0 && git push --tags) and releases continue from there. Put [skip release] in a commit message to skip releasing that commit.

License

MIT. See LICENSE.

Metadata

Release files for djangocloud-cli 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djangocloud-cli 0.1.3
File Size Uploaded
djangocloud_cli-0.1.3.tar.gz 30.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for djangocloud-cli 0.1.3
File Interpreter ABI Platform
djangocloud_cli-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 44.5 kB

Release files / djangocloud_cli-0.1.3.tar.gz

Download URL djangocloud_cli-0.1.3.tar.gz
Size 30.3 kB
Tags Source
SHA-256 checksum
How to use checksums
cfbd7e5614605a61b414de047b72a858b66dd50018375782e6fc4f636142a7ed
BLAKE2b-256 checksum
How to use checksums
8e9e9b9c138faae98f9b4948957c7d7247aac2dacfc3d69db433f8a085debbfb
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 Oct 5, 2026.

Transparency log

Release files / djangocloud_cli-0.1.3-py3-none-any.whl

Download URL djangocloud_cli-0.1.3-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1ad7df4ee973387d063cf92c89ff21cb305f01495268b3ca226d5997e262b23b
BLAKE2b-256 checksum
How to use checksums
f5dafb61ddabea2281f92ca8013fa3e0dcb2c6a15f40c80f87084c73b7d1c4e4
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 Oct 5, 2026.

Transparency log
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