sentry-python-setup
3
总安装量
1
周安装量
#61656
全站排名
安装命令
npx skills add https://github.com/jaffrepaul/agent-skills --skill sentry-python-setup
Agent 安装分布
amp
1
cline
1
opencode
1
cursor
1
continue
1
kimi-cli
1
Skill 文档
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 |