Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

django-newadmin

A modern, extensible light-and-dark theme for Django's built-in admin.

Status: 0.1.0a1 alpha candidate. Django 6.0 and 6.1 on Python 3.13 and 3.14 are tested locally; GitHub Actions repeats this matrix after the code is pushed. TestPyPI publication is manual; PyPI publication runs only when a GitHub Release uses the matching version tag. License: BSD-3-Clause.

Documentation: CARocha.github.io/django-newadmin will be published by GitHub Actions after Pages is enabled for this repository.

Development setup

python3.14 -m venv .venv
.venv/bin/python -m pip install -e '.[dev,docs]'
npm ci
.venv/bin/python -m pytest tests --ignore=tests/browser -q
.venv/bin/python -m playwright install chromium
.venv/bin/python -m pytest tests/browser -q
npm run build:css
npm run build:charts
npm run build:icons
npm run test:js

The npm commands are for developing NewAdmin's assets. Installing the Python package includes the compiled files and does not require Node.js.

Activate NewAdmin

Add newadmin before Django's admin app. No model changes, middleware, or migrations are required in a consuming project:

INSTALLED_APPS = [
    "newadmin",
    "django.contrib.admin",
    # Other Django apps.
]

The theme works with its defaults. Optional site branding and appearance can be set in settings.py:

NEWADMIN = {
    "SITE_TITLE": "Studio",
    "SITE_HEADER": "Studio control room",
    "DEFAULT_MODE": "auto",  # light, dark, or auto
}

Run the demo

After installing the project in editable mode, prepare the sample catalog and create a local administrator:

.venv/bin/python demo/manage.py migrate
.venv/bin/python demo/manage.py seed_demo
.venv/bin/python demo/manage.py createsuperuser
.venv/bin/python demo/manage.py runserver

Open http://127.0.0.1:8000/admin/ and sign in with the account you created. The demo is a local development project and uses SQLite.

See the project specification, design, and task list for scope and progress.

Custom dashboards

Use a Python provider and a template to show data from your own models. Optional Apache ECharts graphs are bundled locally under Apache 2.0, with light/dark mode, responsive SVG output and an HTML data alternative. No chart license purchase or Node installation is required by a package consumer.

See the dashboard guide for configuration, permissions, per-site providers, templates and examples. The demo enables an editorial provider with entry counts, category charts and recent articles.

Menus and extensions

Configure model/app icons, named links with permission checks, per-AdminSite settings and custom CSS. Public template blocks let a consuming project extend the branding, sidebar and footer while retaining Django's native controls. See the configuration and extension guide.

Documentation (Sphinx)

The Spanish user guides cover installation, configuration, dashboards, accessibility and release steps. Build the searchable HTML documentation locally:

.venv/bin/python -m sphinx -n -W --keep-going -b html docs docs/_build/html
.venv/bin/python -m http.server 8002 --directory docs/_build/html

Open http://127.0.0.1:8002/. Read the changelog and alpha limitations before using this release. .readthedocs.yaml is ready for connecting a Read the Docs project; hosted documentation has not been published yet.

Metadata

Release files for django-newadmin 0.1.0a1

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-newadmin 0.1.0a1
File Size Uploaded
django_newadmin-0.1.0a1.tar.gz 507.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-newadmin 0.1.0a1
File Interpreter ABI Platform
django_newadmin-0.1.0a1-py3-none-any.whl Python 3 none any Details

Total release size: 940.3 kB

Release files / django_newadmin-0.1.0a1.tar.gz

Download URL django_newadmin-0.1.0a1.tar.gz
Size 507.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0f4fd3314d3abdb36be6bf023141a9c3410fcc9e7b65d97c7f2bb1b12a5fb628
BLAKE2b-256 checksum
How to use checksums
5b3dbc4b834a176c7ac74470779ee14a25d2cbe9907ff29b537453de2e0fb882
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 18, 2026.

Transparency log

Release files / django_newadmin-0.1.0a1-py3-none-any.whl

Download URL django_newadmin-0.1.0a1-py3-none-any.whl
Size 432.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac950fa61fab7e968eb6ee5dee839f6b044b6e334e9f615532f361746eb9f76d
BLAKE2b-256 checksum
How to use checksums
377d3cd6ad8fa521876a88dca992024472f84caabc96cacf7ee713439fbe0ad1
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 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0a1 This release

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