pyBuilt for Python

Analytics & Monitoring
for Python

Asyncio-native SDK for FastAPI, Flask, Starlette, Sanic, and raw Python services. SQLAlchemy queries and outgoing httpx/requests calls are instrumented automatically — no decorators required.

  • FastAPI and Flask integrations with one-line setup
  • Native asyncio support — context propagated through await
  • SQLAlchemy 1.4 & 2.0 auto-instrumentation (sync + async)
  • httpx, requests, and aiohttp outgoing-call tracing
  • Native Python exception capture with full local context
  • Type-hint friendly — works with mypy, pyright, ruff
python
1# In your Python app entry point
2from justanalytics import JA
3
4JA.init(
5 api_key=os.environ["JUSTANALYTICS_API_KEY"],
6 service_name="my-python-api",
7 environment="production",
8)
9
10# FastAPI / Flask / Starlette / Sanic /
11# SQLAlchemy / httpx / requests — auto-traced.
Active Users
0+12%
Pageviews
0+8%
Errors
0resolved
Uptime
0%all green

Built for Python services

FastAPI to Flask to a one-off worker script — same SDK, same dashboard.

SQLAlchemy & raw DB tracing

SQLAlchemy 1.4 and 2.0 (sync + async). psycopg, asyncpg, aiomysql, motor patched at import time.

Async HTTP server traces

ASGI middleware for FastAPI, Starlette, Sanic. WSGI middleware for Flask, Django (use the dedicated /for/django page for Django-specific setup).

Exception capture

Unhandled exceptions, asyncio task failures, signal handlers all captured with locals — without sentry-style monkey-patching.

Asyncio context propagation

contextvars carries trace context across await boundaries, task groups, and gather() — without manual passing.

Full analytics suite

Add the frontend script for cookie-free analytics, replay, and Web Vitals. One dashboard for client + server.

Alert rules

p95 latency, error-rate, and throughput alerts on every endpoint. Routes to email, webhook, or PagerDuty.

FastAPI setup in 5 lines

Install, init, mount the middleware. SQLAlchemy queries and httpx calls flow through unchanged.

# Install
pip install justanalytics

# main.py
import os
from fastapi import FastAPI
from justanalytics import JA
from justanalytics.integrations.fastapi import JAMiddleware

JA.init(
    api_key=os.environ["JUSTANALYTICS_API_KEY"],
    service_name="my-fastapi-app",
    environment=os.getenv("ENV", "development"),
)

app = FastAPI()
app.add_middleware(JAMiddleware)

@app.get("/users/{user_id}")
async def get_user(user_id: int):
    # SQLAlchemy queries here are auto-traced
    return await db.users.get(user_id)

Ready to simplify your stack?

Replace five tools with one platform. Start with the free tier or try Pro free for 7 days.

Start 7-Day Free Trial