Sentry Python Setup
Install and configure Sentry in Python projects.
Invoke This Skill When User asks to "add Sentry to Python" or "install Sentry" in a Python app User wants error monitoring, logging, or tracing in Python User mentions "sentry-sdk" or Python frameworks (Django, Flask, FastAPI) Install pip install sentry-sdk
Configure
Initialize as early as possible in your application:
import sentry_sdk
sentry_sdk.init( dsn="YOUR_SENTRY_DSN", send_default_pii=True,
# Tracing
traces_sample_rate=1.0,
# Profiling
profile_session_sample_rate=1.0,
profile_lifecycle="trace",
# Logs
enable_logs=True,
)
Async Applications
For async apps, initialize inside an async function:
import asyncio import sentry_sdk
async def main(): sentry_sdk.init( dsn="YOUR_SENTRY_DSN", send_default_pii=True, traces_sample_rate=1.0, enable_logs=True, ) # ... rest of app
asyncio.run(main())
Framework Integrations Django
settings.py
import sentry_sdk
sentry_sdk.init( dsn="YOUR_SENTRY_DSN", send_default_pii=True, traces_sample_rate=1.0, enable_logs=True, )
Flask from flask import Flask import sentry_sdk
sentry_sdk.init( dsn="YOUR_SENTRY_DSN", send_default_pii=True, traces_sample_rate=1.0, enable_logs=True, )
app = Flask(name)
FastAPI from fastapi import FastAPI import sentry_sdk
sentry_sdk.init( dsn="YOUR_SENTRY_DSN", send_default_pii=True, traces_sample_rate=1.0, enable_logs=True, )
app = FastAPI()
Configuration Options Option Description Default dsn Sentry DSN Required send_default_pii Include user data False traces_sample_rate % of transactions traced 0 profile_session_sample_rate % of sessions profiled 0 enable_logs Send logs to Sentry False environment Environment name Auto-detected release Release version Auto-detected Environment Variables SENTRY_DSN=https://xxx@o123.ingest.sentry.io/456 SENTRY_AUTH_TOKEN=sntrys_xxx SENTRY_ORG=my-org SENTRY_PROJECT=my-project
Or use in code:
import os import sentry_sdk
sentry_sdk.init( dsn=os.environ.get("SENTRY_DSN"), # ... )
Verification
Intentional error to test
division_by_zero = 1 / 0
Or capture manually:
sentry_sdk.capture_message("Test message from Python")
Troubleshooting Issue Solution Errors not appearing Ensure init() is called early, check DSN No traces Set traces_sample_rate > 0 IPython errors not captured Run from file, not interactive shell Async errors missing Initialize inside async function