Skip to main content

Lightweight performance devbar for Django

Project description

django-devbar

Lightweight performance devbar for Django. Shows DB query count, query duration, application time, and detects duplicate queries with visual severity indicators.

Normal operation – showing query count, duration, and application time: devbar example

Duplicate queries detected – severity indicator and details shown: devbar warning example

Chrome DevTools extension

[!WARNING] This package is experimental and may introduce breaking changes in minor versions.

Motivation

While Django Debug Toolbar is a proven tool trusted by countless projects, django-devbar explores a different approach to development debugging:

  • Minimal setup — just add middleware, nothing else required
  • Browser DevTools integration — Chrome extension panel works with any response type, including JSON
  • Zero extra dependencies — only requires Django
  • Lower overhead — no extra requests to debug endpoints
  • Non-intrusive — HTML bar is optional; works via headers and DevTools panel alone

Installation

# Using uv (recommended)
uv add --dev django-devbar

# Or using pip
pip install django-devbar

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

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

Configuration

All settings are optional. Configure via a DEVBAR dict in your Django settings:

DEVBAR = {
    "POSITION": "bottom-right",  # bottom-right (default), bottom-left, top-right, top-left
    "SHOW_BAR": None,  # follows DEBUG; set True/False to override
    "ENABLE_DEVTOOLS_DATA": None,  # follows DEBUG; set True/False to override
}

Response Headers

Django DevBar adds HTTP response headers with performance metrics:

  • Server-Timing (always present) – Standard HTTP header with database, application, and total time metrics. Visible in Chrome DevTools Network tab under Timing.

An additional header is included by default in DEBUG mode:

  • DevBar-Data - JSON header with comprehensive metrics including duplicate query details

This is useful for:

  • API endpoints where the HTML overlay can't be displayed
  • Automated testing to assert performance metrics (e.g., fail CI if query count exceeds a limit)
  • Browser extensions that need detailed duplicate query information

Server-Timing format

Server-Timing: db;dur=87.50, app;dur=41.30, total;dur=128.80

Chrome Extension

View Django DevBar metrics directly in Chrome DevTools with the official extension.

See chrome-extension/README.md for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_devbar-0.4.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_devbar-0.4.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file django_devbar-0.4.0.tar.gz.

File metadata

  • Download URL: django_devbar-0.4.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_devbar-0.4.0.tar.gz
Algorithm Hash digest
SHA256 12ea96c1dbd456770eeca815e0a39f1f01b574e7a51f1cf060c087059b4f64c1
MD5 396747d65c3bfa2b3fb90d2a22c3b173
BLAKE2b-256 f226de738926c5d21c409f21c8262b43e828318cdd067b7e475201f7ac3a98ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_devbar-0.4.0.tar.gz:

Publisher: release.yml on amureki/django-devbar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_devbar-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: django_devbar-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_devbar-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b7abdfc6ec881f91f5944deaa46a2e130167b2b3c15fbc6efee27d0185ab95b
MD5 057a1269e0e131cc57fd6d17ca46c9ee
BLAKE2b-256 ebe414e0c08ff1b4d171f3a2c112a76fc789450cc41d25190f67ab3e8b3cab6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_devbar-0.4.0-py3-none-any.whl:

Publisher: release.yml on amureki/django-devbar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page