Skip to main content

A tiny cookiecutter-style CLI for simple Django starter projects.

Project description

djforge

A small CLI that generates simple Django starter projects. Think of it as a tiny, focused cousin of cookiecutter-django: fewer questions, fewer files, quick output.

Install

pip install djforge

For local development:

pip install -e ".[dev]"

Usage

Create a basic Django project with SQLite:

djforge new mysite --yes

Create an API starter with Django REST Framework:

djforge new myapi --preset api --yes

Create a fuller Docker/PostgreSQL starter:

djforge new myshop --preset fullstack --yes

Use prompts instead of --yes:

djforge new mysite

List available presets:

djforge list-presets

Presets

Preset Database API Docker
minimal SQLite no no
api SQLite yes no
fullstack PostgreSQL yes yes

Generated Project

The generated project includes:

  • manage.py
  • one Django settings module
  • a core app with a JSON health endpoint
  • .env.example and copied .env
  • requirements.txt
  • Makefile
  • pyproject.toml
  • optional DRF, Dockerfile, and docker-compose.yml

Example:

mysite/
├── manage.py
├── requirements.txt
├── Makefile
├── .env.example
├── pyproject.toml
└── mysite/
    ├── settings.py
    ├── urls.py
    ├── asgi.py
    ├── wsgi.py
    └── core/
        ├── apps.py
        ├── urls.py
        ├── views.py
        └── tests.py

Development

python -m pytest -p no:cacheprovider
python -m py_compile djforge\config.py djforge\renderer.py djforge\cli.py

Release

  1. Update version in pyproject.toml and __version__ in djforge/__init__.py.
  2. Add a changelog entry.
  3. Run checks:
python -m pytest tests/test_core.py tests/test_e2e.py -q -p no:cacheprovider
python -m ruff check djforge tests
python -m hatch build

4.Upload only the new version files:

python -m twine upload dist/djforge-0.2.0.tar.gz dist/djforge-0.2.0-py3-none-any.whl

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

djforge-0.2.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

djforge-0.2.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file djforge-0.2.0.tar.gz.

File metadata

  • Download URL: djforge-0.2.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for djforge-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f1cd48e618355f755d72eafdb1759bd74b27e7fdf340b8d07b89885969e46643
MD5 f46d8e8b4fcf47e7edc6354d56d1d334
BLAKE2b-256 3d53772a4c41f0c4876fc6dfade12be04a94bd0e5fcf6c56ec814833b7ace3ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for djforge-0.2.0.tar.gz:

Publisher: publish.yml on siyadhkc/djforge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file djforge-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: djforge-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for djforge-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5443179baa808ad75796a8d4c07b28f8eddbf6a4ad64e5fd47268e2411535fe6
MD5 b2dd114f7a76abfbfc765632506fc4e2
BLAKE2b-256 3eca752cafebce6e3ada76ae1634571ed2b8ea6f7ff5e1681fc2e1f147e073dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for djforge-0.2.0-py3-none-any.whl:

Publisher: publish.yml on siyadhkc/djforge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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