Metadata-Version: 2.4
Name: django-devbar
Version: 0.1.0
Summary: Lightweight performance devbar for Django
Keywords: django,debug,performance,monitoring,development
Author: amureki
Author-email: amureki <oss@amureki.com>
License-Expression: MIT
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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: Programming Language :: Python :: 3.14
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Framework :: Django :: 5.1
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Topic :: Software Development
Classifier: Intended Audience :: Developers
Requires-Dist: django>=4.2
Requires-Python: >=3.10
Project-URL: Homepage, https://github.com/amureki/django-devbar
Project-URL: Issues, https://github.com/amureki/django-devbar/issues
Project-URL: Repository, https://github.com/amureki/django-devbar
Description-Content-Type: text/markdown

# django-devbar

Lightweight performance devbar for Django. Shows DB query count, query duration, and response time.

![devbar example](docs/devbar-example.svg)

## Installation

```bash
pip install django-devbar
```

Add to your middleware as early as possible, but after any middleware that encodes the response (e.g., `GZipMiddleware`):

```python
MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django_devbar.DevBarMiddleware",
    # ...
]
```

## Configuration

```python
# Position: bottom-right, bottom-left, top-right, top-left (default: bottom-right)
DEVBAR_POSITION = "top-left"

# Show HTML overlay (default: DEBUG)
DEVBAR_SHOW_BAR = True

# Add X-DevBar-* response headers (default: False)
DEVBAR_SHOW_HEADERS = True
```

## Response Headers

When `DEVBAR_SHOW_HEADERS = True`, performance metrics are added as HTTP response headers. This is useful for:

- **API endpoints** where the HTML overlay can't be displayed
- **Automated testing** to assert performance thresholds (e.g., fail CI if query count exceeds a limit)
- **Monitoring tools** that can capture and aggregate header values

Headers included:

| Header | Description |
|--------|-------------|
| `X-DevBar-Query-Count` | Number of database queries executed |
| `X-DevBar-Query-Duration` | Total time spent in database queries (ms) |
| `X-DevBar-Response-Time` | Total request-response cycle time (ms) |
| `X-DevBar-Has-Duplicates` | Present (value `1`) if duplicate queries detected |
