Skip to content

pagebar

A tiny prod-safe perf footer for ASGI apps. One line at the bottom of every page, click to expand. No SQL text, no env vars, no stack traces — nothing that could leak.

v2026.6.19 · 22ms · 4 SQL · GET /editeurs · 200

pagebar's footer pill

Click it to expand the full panel:

The expanded pagebar panel

Install

pip install pagebar              # core only
pip install pagebar[sqlalchemy]  # with SQL query counter
pip install pagebar[flask]       # Flask (WSGI) integration

Quickstart

Add the middleware, then call the helper in your base template:

from pagebar import PagebarMiddleware, pagebar_html
from starlette.applications import Starlette
from starlette.middleware import Middleware

app = Starlette(
    middleware=[Middleware(PagebarMiddleware, package="my-app")],
    routes=[...],
)
{{ pagebar_html() | safe }}
</body>

That's it. One name for the middleware, one for the helper. See Usage for Litestar and Flask, and Reference for the fields and the knobs.

Why not the Django/Flask/Litestar debug toolbars?

They reveal SQL text, environment, settings, request bodies, stack traces — fine in dev, unacceptable in production. pagebar surfaces a fixed, public-safe set of fields. The shape is the security model.

Non-goals

No panels system, no plugins, no per-framework adapters, no APM, no time series, no SQL EXPLAIN, no profiler. Pure ASGI middleware + one helper function in one file.

License

MIT.