Modern Django Starter
A CLI tool that generates Django 6.1 projects with HTMX, AlpineJS, TailwindCSS, and more — with optional Docker, PostgreSQL, DRF, Celery, Sentry, Stripe, and cloud integrations.
📚 Full documentation: mds.rianbarriga.com
Installation
Requires Python 3.12+.
# uv (recommended)
uv tool install modern-django-starter
# pip
pip install modern-django-starter
Usage
modern-django-starter create my_project
To create a project somewhere else:
modern-django-starter create my_project --output-dir /path/to/projects
Project names must be valid Python identifiers because they become the Django package name.
Without extra flags, the CLI asks for your choices interactively:
| Option | Choices |
|---|---|
| Docker | yes / no |
| PostgreSQL | 15, 16, 17, 18 |
| Cloud provider | none, AWS, Azure, GCP, Render, Railway, PythonAnywhere, Fly.io, Dokku, Heroku |
| Storage provider | local, AWS, GCP, Azure, Cloudflare R2 |
| Email provider | none, SendGrid, Mailgun, SES, Postmark |
| Async support | yes / no |
| Django REST Framework | yes / no |
| Celery | yes / no |
| Sentry | yes / no |
| Stripe | yes / no |
| Frontend pipeline | none, webpack, vite, parcel |
| CI tool | none, GitHub Actions, GitLab CI, Travis, CircleCI |
API-only projects
Pass --api-only to skip the frontend and generate a pure DRF backend:
modern-django-starter create my_api --api-only
Includes:
- Django REST Framework
- JWT auth (djangorestframework-simplejwt)
- CORS (django-cors-headers)
- API schema and docs (drf-spectacular)
- Registration/auth endpoints (dj-rest-auth, django-allauth)
Generated project
- Django 6.1
- HTMX and AlpineJS
- Django-allauth authentication
- TailwindCSS and DaisyUI styling
- Settings split into
base,development, andproduction - Optional: Docker, PostgreSQL, DRF, Celery, Sentry, Stripe, CI workflow, frontend pipeline
Development
Prerequisites
- Python 3.12+
- uv
- Node.js and npm (only needed if you test frontend pipeline generation)
Setup
git clone https://github.com/CasualEngineerZombie/modern-django-starter.git
cd modern-django-starter
uv sync
Checks
Run the same checks as CI:
uv run ruff check .
uv run ruff format --check .
uv run mypy
uv run pytest
CI runs lint, type checking, and tests on Python 3.12, 3.13, and 3.14.
Documentation
The docs site (mds.rianbarriga.com) is built with
MkDocs Material and deployed to GitHub Pages by the docs.yml workflow on every push
to main. Sources live in docs/. Preview locally with:
uv sync --group docs
uv run mkdocs serve
Contributing
Pull requests are welcome. Run the checks above before submitting.
License
MIT — see the LICENSE file.
Release files for modern-django-starter 0.3.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 | |
|---|---|---|---|
| modern_django_starter-0.3.0.tar.gz | 40.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| modern_django_starter-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 87.5 kB
Release files / modern_django_starter-0.3.0.tar.gz
| Download URL | modern_django_starter-0.3.0.tar.gz |
|---|---|
| Size | 40.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
890f46727cae8b8383243b7a841b4c2eb9e04a234602f43ea99ed2c360255c18
|
|
BLAKE2b-256 checksum How to use checksums |
b8de3653802b7573106fa7fba7e9542fbafeede29d93d869694feee0ee799720
|
| 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 24, 2026.
Transparency logRelease files / modern_django_starter-0.3.0-py3-none-any.whl
| Download URL | modern_django_starter-0.3.0-py3-none-any.whl |
|---|---|
| Size | 47.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5906d547faaebcaee9d39c26a59976357e3dee210c41e660e41e0d1ee38a7f6a
|
|
BLAKE2b-256 checksum How to use checksums |
5c64810765719a4eaf8a300fdcbd9e84c618963ebd3621c9d995d9047b4e379d
|
| 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 24, 2026.
Transparency log