sentry-python-setup

Setup Sentry in Python apps. Use when asked to add Sentry to Python, install sentry-sdk, or configure error monitoring, profiling, or logging for Python applications, Django, Flask, FastAPI.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sentry-python-setup" with this command: npx skills add jaffrepaul/agent-skills/jaffrepaul-agent-skills-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:

FrameworkWhere to InitNotes
DjangoTop of settings.pyAuto-detects Django, no extra install
FlaskBefore app = Flask(__name__)Auto-detects Flask
FastAPIBefore app = FastAPI()Auto-detects FastAPI
CeleryIn Celery worker configAuto-detects Celery
AIOHTTPBefore app creationAuto-detects AIOHTTP

Configuration Options

OptionDescriptionDefaultMin SDK
dsnSentry DSNNone (SDK no-ops without it)
send_default_piiInclude user dataNone
traces_sample_rate% of transactions tracedNone (tracing disabled)
profile_session_sample_rate% of sessions profiledNone (profiling disabled)2.24.1+
profile_lifecycleProfiling mode ("trace" or "manual")"manual"2.24.1+
enable_logsSend logs to SentryFalse2.35.0+
environmentEnvironment name"production" (or SENTRY_ENVIRONMENT env var)
releaseRelease versionAuto-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

IssueSolution
Errors not appearingEnsure init() is called early, check DSN
No tracesSet traces_sample_rate > 0
IPython errors not capturedRun from file, not interactive shell
Async errors missingInitialize inside async function

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

sentry-python-setup

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

sentry-pr-code-review

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

sentry-otel-exporter-setup

No summary provided by upstream source.

Repository SourceNeeds Review