A CLI tool for Django development
Project description
djazz-cli
djazz-cli is a Django command-line tool that extends and enhances Django's built-in management commands. It provides a simpler, more intuitive interface through the dj command.
Features
- Simplified project creation with template support
- Enhanced app creation with better defaults
- Shorter, more intuitive command syntax
- Helpful next-step guidance after commands
- Default templates with common configurations
Installation
Install using pip:
pip install djazz-cli
Usage
Creating a New Project
# Basic project creation (in current directory)
dj startproject myproject
# Create project with a specific template
dj startproject myproject -t custom_template
# or
dj startproject myproject --template custom_template
# Create project in a specific directory
dj startproject myproject -t custom_template -p /path/to/directory
# or
dj startproject myproject --template custom_template --path /path/to/directory
Creating a New App
# Basic app creation
dj startapp myapp
# Create app with a specific template
dj startapp myapp -t custom_template
# or
dj startapp myapp --template custom_template
# Create app in a specific directory
dj startapp myapp -t custom_template -p /path/to/directory
# or
dj startapp myapp --template custom_template --path /path/to/directory
Listing Available Templates
# List all templates
dj list-templates
# List only project templates
dj list-templates project
# List only app templates
dj list-templates app
Templates
Project Templates
default: Enhanced version of Django's default project templatewagtail: Wagtail CMS project template with pre-configured settings
App Templates
default: Extended app template with additional files (urls.py, etc.)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Development
Setting Up Development Environment
# Clone the repository
git clone https://github.com/djazzcc/cli.git
cd cli
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Unix/macOS
# or
.\.venv\Scripts\activate # On Windows
# Install development dependencies
uv pip install -e .
Local Testing
# Create a sandbox test environment
mkdir -p sandbox/test1
cd sandbox/test1
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Unix/macOS
# or
.\.venv\Scripts\activate # On Windows
# Install the package in editable mode (from project root)
cd ../.. # Go back to project root
uv pip install -e .
# Verify installation
uv pip list | grep djazz-cli
# Test the CLI
cd sandbox/test1
dj startproject myproject
Project Structure
cli/
├── djazz_cli/
│ ├── __init__.py
│ ├── main.py
│ └── templates/
│ ├── app_templates/
│ │ └── default/
│ └── project_templates/
│ └── default/
├── sandbox/ # For local testing (git ignored)
├── pyproject.toml
├── README.md
└── .gitignore
Building the Package
# Build both wheel and sdist
uv build
# The built packages will be in the dist/ directory
ls dist/
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 djazz_cli-0.1.3.tar.gz.
File metadata
- Download URL: djazz_cli-0.1.3.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b65355062f0129ce39048cbd24de307f6908bcccfe861fdbbd3fed1c8d740323
|
|
| MD5 |
05be1e124beea28c9ea5670fb2a0d016
|
|
| BLAKE2b-256 |
c9b5f515dfdac1d8e638e2d97b35b602584e558bd4b4f617018cd3c1a89db140
|
File details
Details for the file djazz_cli-0.1.3-py3-none-any.whl.
File metadata
- Download URL: djazz_cli-0.1.3-py3-none-any.whl
- Upload date:
- Size: 28.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb3ddc2c5891b2d03b7e99ef0ab86f1fd1a28b937f85ad10f40fc985f46fe14a
|
|
| MD5 |
ece8e19c1a6ad1ad2fe07d8ad916014d
|
|
| BLAKE2b-256 |
6b55ab4c4244df67f97cd437d9d2e14f9eb4c547a2bc983b20e389f7e1446ead
|