sentry-python-setup
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)
Important: The configuration options and code samples below are examples. Always verify against docs.sentry.io before implementing, as APIs and defaults may have changed.
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
Use the same sentry_sdk.init() call shown above. Place it where it runs before your app starts:
| Framework | Where to Init | Notes |
|---|---|---|
| Django | Top of settings.py |
Auto-detects Django, no extra install |
| Flask | Before app = Flask(__name__) |
Auto-detects Flask |
| FastAPI | Before app = FastAPI() |
Auto-detects FastAPI |
| Celery | In Celery worker config | Auto-detects Celery |
| AIOHTTP | Before app creation | Auto-detects AIOHTTP |
Configuration Options
| Option | Description | Default | Min SDK |
|---|---|---|---|
dsn |
Sentry DSN | None (SDK no-ops without it) |
— |
send_default_pii |
Include user data | None |
— |
traces_sample_rate |
% of transactions traced | None (tracing disabled) |
— |
profile_session_sample_rate |
% of sessions profiled | None (profiling disabled) |
2.24.1+ |
profile_lifecycle |
Profiling mode ("trace" or "manual") |
"manual" |
2.24.1+ |
enable_logs |
Send logs to Sentry | False |
2.35.0+ |
environment |
Environment name | "production" (or SENTRY_ENVIRONMENT env var) |
— |
release |
Release version | Auto-detected | — |
Environment Variables
The SDK auto-reads these:
SENTRY_DSN=https://xxx@o123.ingest.sentry.io/456
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=1.0.0
For sentry-cli (source maps, releases), also set:
SENTRY_AUTH_TOKEN=sntrys_xxx
SENTRY_ORG=my-org
SENTRY_PROJECT=my-project
Or pass DSN 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 |
More from jaffrepaul/agent-skills
sentry-otel-exporter-setup
Configure the OpenTelemetry Collector with Sentry Exporter for multi-project routing and automatic project creation. Use when setting up OTel with Sentry, configuring collector pipelines for traces and logs, or routing telemetry from multiple services to Sentry projects.
25sentry-setup-metrics
Setup Sentry Metrics in any project. Use when asked to add custom metrics, track counters/gauges/distributions, or instrument application performance. Supports JavaScript, Python, and Ruby.
3sentry-ios-swift-setup
Setup Sentry in iOS/Swift apps. Use when asked to add Sentry to iOS, install sentry-cocoa SDK, or configure error monitoring for iOS applications using Swift and SwiftUI.
3sentry-react-setup
Setup Sentry in React apps. Use when asked to add Sentry to React, install @sentry/react, or configure error monitoring, error boundaries, session replay, or browser tracing for React applications.
3sentry-pr-code-review
Review a project's PRs to check for issues detected in code review by Seer Bug Prediction. Use when asked to review or fix issues identified by Sentry in PR comments, or to find recent PRs with Sentry feedback.
3sentry-setup-logging
Setup Sentry Logging in any project. Use when asked to add Sentry logs, enable structured logging, capture console logs, or integrate logging libraries (Consola, Loguru) with Sentry. Supports JavaScript, Python, and Ruby.
3