Skip to main content

Django project generator CLI — production-ready Django projects in one command

Project description

djboost 🚀

djboost is a CLI tool that generates a fully-configured, production-ready Django project in one command. No more repetitive boilerplate setup.

With a single command you get Django REST Framework, JWT Authentication, Celery, Redis, WebSockets (Channels), Docker, Swagger docs, and more — all pre-wired and ready to go.

✨ Features

  • API Ready — Django REST Framework + Simple JWT pre-configured
  • API Docs — Auto-generated Swagger UI and ReDoc via drf-spectacular
  • Async Tasks — Celery + Redis integrated out of the box
  • WebSockets — Django Channels with Daphne and Redis channel layers
  • Environment Variablespython-decouple with a generated .env file
  • Database — Pre-configured for PostgreSQL (SQLite default for dev)
  • CORS & Securitydjango-cors-headers + standard security headers
  • Docker — Ready-to-use Dockerfile and docker-compose.yml
  • Static Files — Whitenoise configured for efficient static file serving
  • Code Qualitypre-commit with black, flake8, and isort
  • Testingpytest + pytest-django with coverage pre-configured
  • CI/CD — Modular GitHub Actions and GitLab CI pipelines
  • Custom Exception Handling — Global DRF exception handler included

� Installation

pip install djboost

🚀 Quick Start

Step 1 — Create a virtual environment and activate it

python -m venv env

# Windows
env\Scripts\activate

# Mac / Linux
source env/bin/activate

Step 2 — Install djboost

pip install djboost

Step 3 — Navigate to an empty folder and create your project

# Create a project with a custom name
djboost create project myproject

# Or use the default name 'core'
djboost create project

This single command will automatically:

  1. Install Django and run startproject
  2. Update settings.py with all advanced configurations
  3. Generate .env, Dockerfile, docker-compose.yml, and .gitignore
  4. Generate pytest.ini and .pre-commit-config.yaml
  5. Create /apps, /static, and /media directories
  6. Install all required dependencies
  7. Initialize a git repository and set up pre-commit hooks
  8. Freeze dependencies into requirements.txt

🧱 Creating Apps

Apps are created inside the apps/ directory to keep your project root clean. Settings and URLs are auto-configured.

# Navigate to your project root first
cd myproject

# Create a new app
djboost create app users

This will:

  • Create apps/users/ with standard Django app structure
  • Auto-add 'apps.users' to INSTALLED_APPS
  • Auto-map api/users/ in urls.py
  • Create a starter urls.py inside the app

� Managing CI/CD Pipelines

CI/CD is modular — add or remove it any time after project creation.

Add a pipeline

djboost add cicd github   # GitHub Actions
djboost add cicd gitlab   # GitLab CI

Remove a pipeline

djboost remove cicd github
djboost remove cicd gitlab

🏃 Running Your Project

Locally

# Apply migrations
python manage.py migrate

# Start the dev server
python manage.py runserver

API Documentation

Once your server is running:

Interface URL
Swagger UI http://127.0.0.1:8000/api/schema/swagger-ui/
ReDoc http://127.0.0.1:8000/api/schema/redoc/
OpenAPI Schema http://127.0.0.1:8000/api/schema/

Testing

pytest

With Docker

docker-compose up --build

This spins up PostgreSQL, Redis, Celery worker, and a Daphne ASGI server together.


⚙️ CLI Reference

djboost --help
djboost --version

djboost create project [NAME]     Create a new Django project
djboost create app NAME           Create a new app inside apps/

djboost add cicd github|gitlab    Add a CI/CD pipeline
djboost remove cicd github|gitlab Remove a CI/CD pipeline

🐍 Requirements

  • Python 3.10+
  • Virtual environment (required — djboost will warn you if not activated)

📄 License

MIT

Project details


Download files

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

Source Distribution

djboost-0.1.1.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

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

djboost-0.1.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file djboost-0.1.1.tar.gz.

File metadata

  • Download URL: djboost-0.1.1.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for djboost-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c2b1c7b2bf8f543f94a97adf0944d4fdded8c2fdc607caad8c0473376b37b503
MD5 401231a22bfe159eedcf3e9ead22728f
BLAKE2b-256 1d75da5806c0972a5718d3c4918dfe679cfaf83311068bb87b931af95f150a31

See more details on using hashes here.

File details

Details for the file djboost-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: djboost-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for djboost-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9195260a4569f928f68b045109552f7d84240031f7be10a9a757a00596a1b05
MD5 ab059c0613d8505370c9d58207be950b
BLAKE2b-256 11d74c1b0571b09deed94fb434528238854b5638c3384113ca5636dd63fe8229

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page