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 Variables —
python-decouplewith a generated.envfile - Database — Pre-configured for PostgreSQL (SQLite default for dev)
- CORS & Security —
django-cors-headers+ standard security headers - Docker — Ready-to-use
Dockerfileanddocker-compose.yml - Static Files — Whitenoise configured for efficient static file serving
- Code Quality —
pre-commitwithblack,flake8, andisort - Testing —
pytest+pytest-djangowith 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:
- Install Django and run
startproject - Update
settings.pywith all advanced configurations - Generate
.env,Dockerfile,docker-compose.yml, and.gitignore - Generate
pytest.iniand.pre-commit-config.yaml - Create
/apps,/static, and/mediadirectories - Install all required dependencies
- Initialize a
gitrepository and set uppre-commithooks - 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'toINSTALLED_APPS - Auto-map
api/users/inurls.py - Create a starter
urls.pyinside 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ef56ed7bdd18ab153c17eaa1b6b85b7a05a952fa9359c0fb998669ec7ff693b
|
|
| MD5 |
2330f103f6b4b027beeb84d592e80f92
|
|
| BLAKE2b-256 |
0278f49769e5cdc3965089c8f0aa7c503365d59e70dd1ea403eb6a9c6dfb9bcd
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74f428035dd3bf97e7b489eca0f458706f3e73d3a331bff99e6e932b47cc2575
|
|
| MD5 |
3b8e914966917da5347080934525c2d6
|
|
| BLAKE2b-256 |
9b534d927666638027f3ce61bfaacbbced347e38ff7614b4082c76fdf9e8acb1
|