Welcome to the Djereo docs

djereo - a Django project template with opinionated tooling.

Built on top of the pycliche template.

python: 3.12 Copier justfile uv Django Postgres IPython structlog pre-commit ruff biome pytest coverage security: bandit Release Please gunicorn CI

Features

Projects created using djereo include:

  • A Django web application, configured via a pyproject.toml.
  • Dependencies managed via uv, using a uv.lock file for reproducible builds.
  • Dependencies managed via uv, using a uv.lock file for reproducible builds.
  • An implementation of the 'custom User + UserProfile' pattern, tied together with a django-allauth integration.
  • Optional vendorised htmx with sensible defaults for the frontend.
  • Simple configuration to enhance your logs with structlog.
  • Sensible defaults to use a postgres database from the start.
  • Ready-to-use dev tools: Django Debug Toolbar, django-browser-reload, runserver logs formatted using rich, structlog in production.
  • IPython as the default shell.
  • Out-of-the-box unit test suite & code coverage reporting.
  • pre-commit hooks to lint & format code, and run SAST.
  • A justfile to use just as a task runner for common jobs.
  • Lean containerisation to quickly deploy a project to hosted environments.
  • Settings to score A+ on securityheaders.com, for peace of mind.
  • ...and more!

Optionally, for projects intended to be hosted on GitHub, also include:

  • GitHub Actions to:
    • Automate cutting releases via Release Please.
    • Run pre-commit hooks and pytest as part of a Continuous Integration pipeline.
  • A dependabot configuration to keep Python packages & GitHub Actions up to date.

If djereo sounds like a good foundation for your next project, explore the full list of features or get started with the instructions on the Quickstart page.


Python
Starting a Python project? Try pycliche, the base djereo is built on, as your Python project template.