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.0.tar.gz (15.6 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.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: djboost-0.1.0.tar.gz
  • Upload date:
  • Size: 15.6 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.0.tar.gz
Algorithm Hash digest
SHA256 b1e1acfa2867a1afca87e3313926c86ab02da4c939f373d947d586736abbbfec
MD5 7b2d7477e108fc89576a288b0c7aefe7
BLAKE2b-256 ebb74f0a7be49af756c51f101f07385848a7462dc2aa867a549cab2e75d68c92

See more details on using hashes here.

File details

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

File metadata

  • Download URL: djboost-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 16610e5d2e690fe029a2d7146aea4cce9169901a20b40a2a9876f56fd5235415
MD5 baab41be3f876e0996209018f1ce7f77
BLAKE2b-256 61f8312a28afe8c1f7e8c61632478cd549582058882d6895de05a5bbfccf5d81

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