mcpField
I
integration-fastapi

integration-fastapi

github.com/posthogデータ・データベース7693 回インストール今日更新
リポジトリ

integration-fastapi について

FastAPI アプリケーションに PostHog 分析を導入するスキルです。段階的な手順に加え、イベント送信、ユーザー識別、例外追跡に関する Python 向けの設定ガイダンスを備えています。

主な機能

  1. 014 段階の導入ワークフロー
  2. 02FastAPI と Python の参考資料
  3. 03起動・終了時の設定ガイダンス
  4. 04ユーザー識別のガイダンス
  5. 05例外追跡のガイダンス
  6. 06PII の取り扱いガイダンス

活用シーン

  1. 01FastAPI アプリへの PostHog 導入
  2. 02終了時の分析イベント送信
  3. 03ログインや登録時のユーザー識別
  4. 04イベントに PII を含めない例外追跡

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/posthog/skills --skill integration-fastapi

インストール後、Claude Code で/integration-fastapiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
basic-integration-1.0-begin.md
basic-integration-1.1-edit.md
basic-integration-1.2-revise.md
basic-integration-1.3-conclude.md
EXAMPLE.md
identify-users.md
python.md

詳細

FastAPI 向け PostHog インテグレーション

このスキルでは、FastAPI アプリケーションに PostHog 分析を追加できます。

ワークフロー

インテグレーションを完了するには、次の手順を順番に実行してください。

  1. basic-integration-1.0-begin.md - PostHog のセットアップ - 開始 ← ここから始めてください
  2. basic-integration-1.1-edit.md - PostHog のセットアップ - 編集
  3. basic-integration-1.2-revise.md - PostHog のセットアップ - 修正
  4. basic-integration-1.3-conclude.md - PostHog のセットアップ - 完了

参照ファイル

  • references/EXAMPLE.md - FastAPI のサンプルプロジェクトコード
  • references/python.md - Python - ドキュメント
  • references/identify-users.md - ユーザーの識別 - ドキュメント
  • references/basic-integration-1.0-begin.md - PostHog のセットアップ - 開始
  • references/basic-integration-1.1-edit.md - PostHog のセットアップ - 編集
  • references/basic-integration-1.2-revise.md - PostHog のセットアップ - 修正
  • references/basic-integration-1.3-conclude.md - PostHog のセットアップ - 完了

サンプルプロジェクトでは、目標とする実装パターンを示しています。API の詳細については、ドキュメントを参照してください。

主な原則

  • 環境変数:PostHog のキーには必ず環境変数を使用してください。ハードコードしないでください。
  • 最小限の変更:既存のインテグレーションに PostHog のコードを追加してください。既存のコードを置き換えたり、再構成したりしないでください。
  • サンプルに合わせる:実装は、可能な限りサンプルプロジェクトのパターンに従ってください。

フレームワークのガイドライン

  • 起動時に lifespan コンテキストマネージャーで posthog.api_key と posthog.host を使用して PostHog を初期化します
  • アプリの終了前にすべてのイベントが送信されるよう、lifespan のシャットダウン時に posthog.flush() を呼び出します
  • キャッシュとテスト時の簡単な上書きのため、get_settings() に @lru_cache デコレーターを適用した Pydantic Settings を使用します
  • ルートハンドラーで current_user と settings にアクセスするには、FastAPI の依存性注入(Depends)を使用します
  • Flask/Django と同じコンテキスト API パターン(new_context()、identify_context(user_id)、続いて capture())を使用します
  • ソースコードは venv/site-packages ディレクトリにあります
  • posthog は Python SDK のパッケージ名です
  • pip install posthog または pip install -r requirements.txt で依存関係をインストールし、シェルコマンドで >= のような引用符で囲まれていないバージョン指定子を直接使用しないでください
  • CLI とスクリプトでは、終了前に必ず posthog.shutdown() を呼び出してください。呼び出さないと、すべてのイベントが失われます
  • モジュールレベルの posthog.api_key 設定ではなく、必ず Posthog() クラスのコンストラクター(インスタンスベースの API)を使用します
  • 例外を自動的に追跡するため、Posthog() コンストラクターには必ず enable_exception_autocapture=True を指定します
  • capture() のイベントプロパティに個人を特定できる情報(PII)を絶対に送信しないでください。メールアドレス、フルネーム、電話番号、住所、IP アドレス、ユーザー生成コンテンツは禁止です
  • PII は capture() のイベントプロパティではなく、identify() の人物プロパティに含めます。安全なイベントプロパティは、message_length、form_type、ブール値フラグなどのメタデータです
  • 終了時にすべてのイベントがフラッシュされるよう、posthog_client.shutdown を atexit.register() に登録します
  • Python SDK に identify() メソッドはありません。人物プロパティを設定するには posthog_client.set(distinct_id=user_id, properties={...}) を使用するか、コンテキスト内で identify_context(user_id) を使用します

ユーザーの識別

ログインイベントとサインアップイベントでユーザーを識別します。このフレームワークで適切な識別パターンを使用するには、サンプルコードとドキュメントを参照してください。フロントエンドとバックエンドの両方のコードがある場合は、相関関係を維持するため、X-POSTHOG-DISTINCT-ID と X-POSTHOG-SESSION-ID ヘッダーを使用してクライアント側のセッション ID と distinct ID を渡します。

エラートラッキング

特に重要なユーザーフローや API の境界部分など、関連するファイルに PostHog のエラートラッキングを追加します。

コメント