Agent Skills: 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.

UncategorizedID: getsentry/sentry-agent-skills/sentry-python-setup

Install this agent skill to your local

pnpm dlx add-skill https://github.com/getsentry/sentry-agent-skills/tree/HEAD/skills/sentry-python-setup

Skill Files

Browse the full folder contents for sentry-python-setup.

Download Skill

Loading file tree…

skills/sentry-python-setup/SKILL.md

Skill Metadata

Name
sentry-python-setup
Description
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.

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 |