mcpField
E
error-tracking-python

error-tracking-python

github.com/posthogDevelopment7696 installsUpdated today
Repository

About error-tracking-python

A skill for adding PostHog error tracking to Python applications. It guides SDK setup, exception capture, safe event properties, and shutdown handling for scripts and CLIs.

Key features

  1. 01Exception autocapture configuration
  2. 02Manual capture guidance
  3. 03PII restrictions for event properties
  4. 04SDK setup and shutdown guidance
  5. 05Source map upload guidance

Use cases

  1. 01Adding error tracking to a Python application
  2. 02Capturing exceptions in scripts and CLIs
  3. 03Keeping personal data out of event properties

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/posthog/skills --skill error-tracking-python

After installing, type/error-tracking-pythonin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
alerts.md
assigning-issues.md
fingerprints.md
monitoring.md
python.md
upload-source-maps.md

Details

From the project README

PostHog error tracking for Python

This skill helps you add PostHog error tracking to Python applications.

Reference files

  • references/python.md - Python error tracking installation - docs
  • references/fingerprints.md - Fingerprints - docs
  • references/alerts.md - Send error tracking alerts - docs
  • references/monitoring.md - Monitor and search issues - docs
  • references/assigning-issues.md - Assign issues to teammates - docs
  • references/upload-source-maps.md - Upload source maps - docs

Consult the documentation for API details and framework-specific patterns.

Key principles

  • Environment variables: Always use environment variables for PostHog keys and host URLs. Never hardcode them.
  • Minimal changes: Add error tracking alongside existing error handling. Don't replace or restructure existing error handling code.
  • Autocapture first: Enable exception autocapture in the SDK initialization before adding manual captures.
  • Source maps: Upload source maps so stack traces resolve to original source code, not minified bundles.
  • Manual capture for boundaries: Use captureException() at error boundaries and catch blocks for errors that don't propagate to the global handler.

Framework guidelines

  • Remember that source code is available in the venv/site-packages directory
  • posthog is the Python SDK package name
  • Install dependencies with pip install posthog or pip install -r requirements.txt and do NOT use unquoted version specifiers like >= directly in shell commands
  • In CLIs and scripts: MUST call posthog.shutdown() before exit or all events are lost
  • Always use the Posthog() class constructor (instance-based API) instead of module-level posthog.api_key config
  • Always include enable_exception_autocapture=True in the Posthog() constructor to automatically track exceptions
  • NEVER send PII in capture() event properties — no emails, full names, phone numbers, physical addresses, IP addresses, or user-generated content
  • PII belongs in identify() person properties, NOT in capture() event properties. Safe event properties are metadata like message_length, form_type, boolean flags.
  • Register posthog_client.shutdown with atexit.register() to ensure all events are flushed on exit
  • The Python SDK has NO identify() method — use posthog_client.set(distinct_id=user_id, properties={...}) to set person properties, or use identify_context(user_id) within a context

Comments

Markdown supported