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.20 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.20 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.20

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.20
File Size Uploaded
django_chassis-1.0.20.tar.gz 819.4 kB Details

Built distribution (wheel)

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

Total release size: 1.7 MB

Release files / django_chassis-1.0.20.tar.gz

Download URL django_chassis-1.0.20.tar.gz
Size 819.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a7722ef4b14833b99a5e23b2f669db7101a1aba801bac89f6db3d66d64f8c48f
BLAKE2b-256 checksum
How to use checksums
a311e78b6a503102fbaceda7232e46514abe50240f3e406f241f6726d28c6146
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.20-py3-none-any.whl

Download URL django_chassis-1.0.20-py3-none-any.whl
Size 883.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9936fc17265fcac8e5eeb82ed8da978fbc3624f8a6c92a94751d35a2f2c0cc9b
BLAKE2b-256 checksum
How to use checksums
34c2d7d44d214d9e5365452fc1ff14e162902a4ed1636c4acffb4964623bf791
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.20 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