Awesome-omni-skill sentry-python-setup
Setup Sentry in Python apps. Use when asked to add Sentry to Python, install sentry-sdk, or configure error monitoring for Python applications, Django, Flask, FastAPI.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/sentry-python-setup" ~/.claude/skills/diegosouzapw-awesome-omni-skill-sentry-python-setup && rm -rf "$T"
manifest:
skills/development/sentry-python-setup/SKILL.mdsource content
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 |
|---|---|---|
| Sentry DSN | Required |
| Include user data | |
| % of transactions traced | |
| % of sessions profiled | |
| Send logs to Sentry | |
| Environment name | Auto-detected |
| 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 is called early, check DSN |
| No traces | Set > 0 |
| IPython errors not captured | Run from file, not interactive shell |
| Async errors missing | Initialize inside async function |