integration-fastapi について
FastAPI アプリケーションに PostHog 分析を導入するスキルです。段階的な手順に加え、イベント送信、ユーザー識別、例外追跡に関する Python 向けの設定ガイダンスを備えています。
主な機能
- 014 段階の導入ワークフロー
- 02FastAPI と Python の参考資料
- 03起動・終了時の設定ガイダンス
- 04ユーザー識別のガイダンス
- 05例外追跡のガイダンス
- 06PII の取り扱いガイダンス
活用シーン
- 01FastAPI アプリへの PostHog 導入
- 02終了時の分析イベント送信
- 03ログインや登録時のユーザー識別
- 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.mdbasic-integration-1.1-edit.mdbasic-integration-1.2-revise.mdbasic-integration-1.3-conclude.mdEXAMPLE.mdidentify-users.mdpython.md詳細
FastAPI 向け PostHog インテグレーション
このスキルでは、FastAPI アプリケーションに PostHog 分析を追加できます。
ワークフロー
インテグレーションを完了するには、次の手順を順番に実行してください。
basic-integration-1.0-begin.md- PostHog のセットアップ - 開始 ← ここから始めてくださいbasic-integration-1.1-edit.md- PostHog のセットアップ - 編集basic-integration-1.2-revise.md- PostHog のセットアップ - 修正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 のエラートラッキングを追加します。
コメント
Markdown 対応