Skip to main content
Django-Chassis

A declarative, fully typed chassis for building polished Django Admin applications.

Documentation · Quick start · API reference · Changelog

Django-Chassis 1.0.21 Supported Python versions Supported Django versions Typed package MIT license

Test status pre-commit.ci status


Django-Chassis gives a project a structured AdminSite, composable ModelAdmin options, custom pages, dashboard contracts, and a complete template overlay. Domain models and business rules stay in the project; Chassis provides the reusable Admin application layer around them.

Features

  • Declarative configuration — compose the Admin with ChassisAdminSiteMixin, ChassisAdminMixin, and immutable options.
  • A polished changelist — search, filters, date hierarchy, tabs, badges, pretty JSON, and decimal-amount presentation without ad-hoc template forks.
  • Row, list, and object actions — permission-aware buttons, confirmation, and condition methods.
  • Related data — independently paginated tables and typed repeatable inputs with native or application-owned form-data processing.
  • Custom pages — permission-aware pages, personal pages, information pages, and timelines.
  • Dashboard contracts — metrics, charts, alerts, actions, a four-column grid, and live refresh at dashboard/live/.
  • Import/export — JSON/XML in, JSON/XML/CSV/XLSX out, preview/apply, history, a shared worker protocol with optional Celery/Dramatiq providers.
  • Users and security — profiles, sessions, login-attempt limits, GeoIP country detection, and an Admin audit journal.
  • Fully typed — ships py.typed and is checked with Pyrefly in strict mode.

Installation

pip install django-chassis

Version 1.0.21 requires Python 3.13 or 3.14 and Django 6.0+.

Put 'django_chassis' before 'django.contrib.admin' so package templates overlay the stock Admin:

INSTALLED_APPS = [
    'django_chassis',
    'django.contrib.admin',
    # ...
]

Background import/export is optional:

pip install 'django-chassis[dramatiq]'
# or
pip install 'django-chassis[celery]'

For WSGI projects, Chassis provides an optional Gunicorn management command:

pip install 'django-chassis[gunicorn]'
python manage.py run_gunicorn --port=8000 --workers=2

For ASGI projects, use the optional Uvicorn command:

pip install 'django-chassis[uvicorn,dramatiq]'
python manage.py run_uvicorn --host 127.0.0.1 --port 8000 --workers 1 --reload

run_uvicorn resolves ASGI_APPLICATION or an explicit --app; it does not require a project-specific server command. Extras can be combined. django-chassis[all] installs Gunicorn, Uvicorn, Dramatiq and Celery. The base package installs none of these optional runtimes. Selecting an extra installs its dependencies; the application still configures its worker broker and database. For PostgreSQL jobs, install and configure the chosen PostgreSQL broker and driver in the application. Installing an extra does not enable import/export or start workers.

Quick start

Create a Chassis AdminSite, register a model, and mount the site in urls.py:

from django.contrib.admin import AdminSite, ModelAdmin
from django.urls import path
from django.utils.translation import gettext_lazy as _

from django_chassis.mixins import ChassisAdminMixin, ChassisAdminSiteMixin
from django_chassis.options import RowActionsOption, SearchOption

from catalog.models import Book


class CustomAdminSite(ChassisAdminSiteMixin, AdminSite):
    chassis_brand_name = _('My project')
    chassis_brand_logo_static_path = 'img/logo.png'


admin_site = CustomAdminSite(name='admin')


class BookAdmin(ChassisAdminMixin, ModelAdmin):
    options = [SearchOption(fields=['title', 'isbn']), RowActionsOption()]


admin_site.register(Book, BookAdmin)

urlpatterns = [path('admin/', admin_site.urls)]

ChassisAdminSiteMixin and ChassisAdminMixin must come before their Django classes in the MRO.

Documentation

Read the full guides, architecture notes, option reference, and dashboard contracts at django-chassis.rdd-lab.com.

Testing

uv sync --group dev
uv run pytest

License

Distributed under the MIT License.

Support the project

Cryptocurrency & Bitcoin donation button by NOWPayments

Metadata

Release files for django-chassis 1.0.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-chassis 1.0.21
File Size Uploaded
django_chassis-1.0.21.tar.gz 819.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-chassis 1.0.21
File Interpreter ABI Platform
django_chassis-1.0.21-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / django_chassis-1.0.21.tar.gz

Download URL django_chassis-1.0.21.tar.gz
Size 819.9 kB
Tags Source
SHA-256 checksum
How to use checksums
38283eab784129ad164e714dd03038cf6951d1a8dfe1c4fa7dee65eb48e3c10d
BLAKE2b-256 checksum
How to use checksums
49c85e29bf8474179ce0f8f8a3c0b5572c1dd9b1de867eb6c06276b0f00d5a02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / django_chassis-1.0.21-py3-none-any.whl

Download URL django_chassis-1.0.21-py3-none-any.whl
Size 883.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
48fdcc030947627c3572e25209cac693b9cfb44f9c085b171cd85f89947c7e40
BLAKE2b-256 checksum
How to use checksums
86fd4b2cc5b6236a99241fb04b944ec6881d583f57f2f68adffc8c30be01f6b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.21 This release

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page