Metadata-Version: 2.4
Name: vanta-admin
Version: 0.5.0
Summary: A sharp, dark, and portable Django admin theme forged for builders who want the admin to feel less default.
Author: oli-dev0
License-Expression: MIT
Project-URL: Homepage, https://vanta-admin.org/
Project-URL: Documentation, https://github.com/oli-dev0/vanta-admin-theme/blob/main/README.md
Project-URL: Repository, https://github.com/oli-dev0/vanta-admin-theme
Project-URL: Issues, https://github.com/oli-dev0/vanta-admin-theme/issues
Classifier: Framework :: Django
Classifier: Framework :: Django :: 6.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Django<7,>=5.2
Dynamic: license-file

# Vanta Admin
Vanta Admin is a Django admin theme with a darker interface, tighter density,
and a standalone structure that stays close to Django's admin template system.

It is designed to be portable and to avoid frontend runtime dependencies outside
standard Django admin behavior. You still use Django admin; Vanta changes the
shell, navigation, common controls, messages, and visual treatment so the admin
feels more deliberate in everyday use.

## What It Adds

- A cleaner admin layout with a fixed sidebar that remembers how you left it.
- A sidebar navigation filter that lets users quickly narrow large admin menus by app or model name.
- Light and dark mode, using the same calm Vanta look across the admin.
- A more settled light-mode palette with clearer search focus states and stronger changelist table headers.
- Less visual noise on the main admin screens, login pages, cards, filters, and
  two-factor auth pages.
- Denser dashboards, tables, filters, messages, and forms so admin work feels
  easier to scan.
- Admin messages that appear clearly, pause while hovered, and dismiss
  themselves after a short time.
- Changelist actions that appear only when rows are selected, stay available
  while scrolling, and include a clear-selected control.
- Styled select controls for common admin dropdowns, while Django's native
  multi-select fields stay unchanged.
- Built-in icons for common admin areas, models, and recent actions.
- A cleaner account menu with display preferences, project links, password
  access, logout, and a Vanta support link.
- A 12-hour and 24-hour time-format preference for changelist date/time values,
  stored in the browser for each admin user.
- Shorter changelist date formatting that makes date-heavy tables easier to
  scan.
- A packaged favicon for the admin.
- A mobile sidebar overlay that makes the admin easier to use on smaller
  screens.
- Optional matching templates for `django-two-factor-auth` login, setup
  completion, account security, and backup-token screens.

Vanta Admin does not replace Django admin, change your permissions, or configure
two-factor authentication for you. If your project uses `django-two-factor-auth`,
Vanta provides matching templates and CSS for the visible 2FA screens.

## Tested With
Vanta Admin was created and tested with:

- Python 3.13.14
- Django 6.0.6

The package currently declares support for Django 5.2 up to, but not including,
Django 7. Older supported-range versions may also work well, but they have not
been verified as thoroughly yet.

## Installation

### PyPI with pip
```bash
pip install vanta-admin
```

### PyPI with uv
```bash
uv add vanta-admin
```

### Directly from GitHub with pip
```bash
pip install "git+https://github.com/oli-dev0/vanta-admin-theme.git@main"
```

### Directly from GitHub with uv
```bash
uv add "git+https://github.com/oli-dev0/vanta-admin-theme.git@main"
```

## Django Setup
In your Django settings file, add `vanta_admin` to `INSTALLED_APPS` before
`django.contrib.admin` so its templates override the default admin templates.

This is usually in `settings.py`, or in your project's active settings module
if you split settings across multiple files:
```python
INSTALLED_APPS = [
    'vanta_admin',
    'django.contrib.admin',
    # ...
]
```

Then run your normal static asset flow for Django:
```bash
python manage.py collectstatic
```

## Optional Two-Factor Auth Theme Support

If your project already uses `django-two-factor-auth`, place `vanta_admin` before
the two-factor apps and before `django.contrib.admin` so Vanta's templates are
found first:

```python
INSTALLED_APPS = [
    'vanta_admin',
    'django_otp',
    'django_otp.plugins.otp_static',
    'django_otp.plugins.otp_totp',
    'two_factor',
    'django.contrib.admin',
    # ...
]
```

Configure `django-two-factor-auth` normally in your project URLs and settings.
Vanta only provides the theme layer.

## Notes
- The package name on PyPI is `vanta-admin`.
- The Django app label you add to `INSTALLED_APPS` is `vanta_admin`.
- Two-factor auth support is visual/template support for projects that already
  install and configure `django-two-factor-auth`.
- Vanta keeps Django admin server-rendered. It does not add a frontend runtime
  or a custom dashboard framework.

## Links
- Website: https://vanta-admin.org/
- Repository: https://github.com/oli-dev0/vanta-admin-theme
- Issues: https://github.com/oli-dev0/vanta-admin-theme/issues
