Skip to main content

Developer-first visual backend devtools for Django, Flask, and FastAPI

Project description

TraceGarden

TraceGarden

Developer-first visual backend devtools for Django, Flask, and FastAPI.

TraceGarden captures request timelines (DB + HTTP + spans + Celery) into local SQLite and serves a built-in UI at /__tracegarden.

Features

  • WSGI + ASGI support (Django, Flask, FastAPI)
  • OTel-native span ingestion into local TraceGarden UI
  • DB query fingerprinting, grouping, duplicate and N+1 detection
  • Outgoing HTTP inspector (requests / httpx)
  • Celery stitching (web request -> queued task -> worker state)
  • Trace bundle export (single JSON artifact)
  • Development guardrails: redaction by default + UI token protection

Installation

pip install tracegarden
# extras
pip install tracegarden[django]
pip install tracegarden[flask]
pip install tracegarden[fastapi]
pip install tracegarden[celery]

Quick Start

Django (one app + one middleware)

# settings.py
INSTALLED_APPS = [
    ...,
    "tracegarden.integrations.django",
]

MIDDLEWARE = [
    "tracegarden.integrations.django.middleware.TraceGardenMiddleware",
    ...,
]

TRACEGARDEN = {
    "enabled": True,
    "ui_token": "dev-secret",
    "ui_token_header": "X-TraceGarden-Token",
    "ui_prefix": "/__tracegarden",
}

# urls.py
from tracegarden.ui.routes import mount_django_urls
urlpatterns = mount_django_urls() + urlpatterns

Flask (init extension)

from flask import Flask
from tracegarden import TraceGarden

app = Flask(__name__)
TraceGarden(app, ui_token="dev-secret")

FastAPI (one middleware)

from fastapi import FastAPI
from tracegarden import TraceGarden

app = FastAPI()
TraceGarden(app, ui_token="dev-secret")

UI Access

Default route: /__tracegarden/

Pass token using one of:

  • header: X-TraceGarden-Token: dev-secret
  • query param: ?token=dev-secret
  • cookie: tg_token=dev-secret

Screenshots

Request list Request detail

OpenTelemetry

from tracegarden.otel.setup import setup_otel

setup_otel(
    service_name="my-api",
    also_export_to_tracegarden=True,
)

What gets recorded

See docs/WHAT_IT_RECORDS.md.

End-to-end examples

See examples/README.md.

License

MIT

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

tracegarden-0.1.8.tar.gz (328.0 kB view details)

Uploaded Source

Built Distribution

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

tracegarden-0.1.8-py3-none-any.whl (51.1 kB view details)

Uploaded Python 3

File details

Details for the file tracegarden-0.1.8.tar.gz.

File metadata

  • Download URL: tracegarden-0.1.8.tar.gz
  • Upload date:
  • Size: 328.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tracegarden-0.1.8.tar.gz
Algorithm Hash digest
SHA256 42195ea0364203259786aa071f8d05b864bd3bebc2ad88ba81a02f2657fddec9
MD5 bad0bffea5924ea1b5ebb6d29e8014bb
BLAKE2b-256 6b1a00fca02cb4dd7a89311e194fbc1bb24680a1dd93073eb5c48b761fc7ee41

See more details on using hashes here.

Provenance

The following attestation bundles were made for tracegarden-0.1.8.tar.gz:

Publisher: release.yml on peidrao/tracegarden

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

File details

Details for the file tracegarden-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: tracegarden-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 51.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tracegarden-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 52ef745ffbd26471902996ff6884510061c20f1900f2135f758b9954d7ac9627
MD5 3fcbcc2c1c4ea6c624d73af4dc1dcb74
BLAKE2b-256 27c2f5baea5eec3a6b242e10e4225c8814c19c831dfa5e633be609687d560267

See more details on using hashes here.

Provenance

The following attestation bundles were made for tracegarden-0.1.8-py3-none-any.whl:

Publisher: release.yml on peidrao/tracegarden

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