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.3.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.3-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: djboost-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 4ef56ed7bdd18ab153c17eaa1b6b85b7a05a952fa9359c0fb998669ec7ff693b
MD5 2330f103f6b4b027beeb84d592e80f92
BLAKE2b-256 0278f49769e5cdc3965089c8f0aa7c503365d59e70dd1ea403eb6a9c6dfb9bcd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: djboost-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 74f428035dd3bf97e7b489eca0f458706f3e73d3a331bff99e6e932b47cc2575
MD5 3b8e914966917da5347080934525c2d6
BLAKE2b-256 9b534d927666638027f3ce61bfaacbbced347e38ff7614b4082c76fdf9e8acb1

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