{"library":"openinference-instrumentation-google-genai","title":"OpenInference Google GenAI Instrumentation","description":"This is a Python auto-instrumentation library designed to trace interactions with the Google GenAI SDK. It emits OpenTelemetry-compatible traces, providing observability for generative AI applications. These traces can be sent to any OpenTelemetry collector, such as Arize Phoenix, for analysis and visualization. The library is actively maintained with frequent updates.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install openinference-instrumentation-google-genai google-genai arize-otel","pip install openinference-instrumentation-google-genai google-genai"],"cli":null},"imports":["from openinference.instrumentation.google_genai import GoogleGenAIInstrumentor"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom openinference.instrumentation.google_genai import GoogleGenAIInstrumentor\nfrom arize.otel import register\nfrom google import genai\n\n# Configure your Google GenAI API key\n# It's recommended to set this as an environment variable\n# os.environ[\"GEMINI_API_KEY\"] = \"your_gemini_api_key\"\n\n# Setup OpenTelemetry via Arize's convenience function\n# Replace with your actual space_id, api_key, and project_name if using Arize\ntracer_provider = register(\n    space_id=os.environ.get('ARIZE_SPACE_ID', 'YOUR_ARIZE_SPACE_ID'),\n    api_key=os.environ.get('ARIZE_API_KEY', 'YOUR_ARIZE_API_KEY'),\n    project_name=\"my-genai-app\",\n)\n\n# Instrument the Google GenAI client\nGoogleGenAIInstrumentor().instrument(tracer_provider=tracer_provider)\n\n# Ensure GEMINI_API_KEY is set for google-genai to function\nif not os.environ.get(\"GEMINI_API_KEY\"):\n    print(\"Warning: GEMINI_API_KEY environment variable not set. Using a placeholder.\")\n    # This placeholder will likely cause authentication errors for actual API calls\n    os.environ[\"GEMINI_API_KEY\"] = \"sk-your-gemini-api-key\"\n\ndef send_message_multi_turn() -> tuple[str, str]:\n    client = genai.Client(api_key=os.environ[\"GEMINI_API_KEY\"])\n    chat = client.chats.create(model=\"gemini-1.5-flash-001\")\n    response1 = chat.send_message(\"What is the capital of France?\")\n    response2 = chat.send_message(\"Why is the sky blue?\")\n    return response1.text or \"\", response2.text or \"\"\n\nif __name__ == \"__main__\":\n    print(\"Starting GenAI chat...\")\n    resp1_text, resp2_text = send_message_multi_turn()\n    print(f\"Response 1: {resp1_text}\")\n    print(f\"Response 2: {resp2_text}\")\n    print(\"Traces should now be available in your configured OpenTelemetry collector (e.g., Arize Phoenix).\")","lang":"python","description":"This quickstart demonstrates how to install and configure `openinference-instrumentation-google-genai` to trace a simple multi-turn chat interaction using the Google GenAI SDK. It integrates with `arize-otel` for setting up the OpenTelemetry tracer provider, which then sends traces to a collector like Arize Phoenix. Remember to set your `GEMINI_API_KEY` and Arize credentials as environment variables.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.1.9","pypi_latest":"1.0.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":8.6,"avg_import_s":0.7,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.54,"mem_mb":16.3,"disk_size":"71.6M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.55,"mem_mb":16.3,"disk_size":"96.2M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.3,"import_time_s":0.4,"mem_mb":16.3,"disk_size":"71M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.2,"import_time_s":0.39,"mem_mb":16.3,"disk_size":"93M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.76,"mem_mb":17.3,"disk_size":"79.1M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.77,"mem_mb":17.4,"disk_size":"104.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.6,"import_time_s":0.68,"mem_mb":17.3,"disk_size":"79M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":9.2,"import_time_s":0.71,"mem_mb":17.4,"disk_size":"101M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.02,"mem_mb":17.6,"disk_size":"69.8M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.98,"mem_mb":17.6,"disk_size":"95.1M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.2,"import_time_s":0.9,"mem_mb":17.6,"disk_size":"69M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.4,"import_time_s":0.89,"mem_mb":17.6,"disk_size":"92M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.87,"mem_mb":15.6,"disk_size":"69.5M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.89,"mem_mb":15.6,"disk_size":"94.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.7,"import_time_s":0.8,"mem_mb":15.6,"disk_size":"69M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.8,"import_time_s":0.81,"mem_mb":15.6,"disk_size":"92M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.51,"mem_mb":15.8,"disk_size":"65.6M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.49,"mem_mb":15.8,"disk_size":"90.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":9.2,"import_time_s":0.51,"mem_mb":15.8,"disk_size":"65M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"openinference-instrumentation-google-genai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":12,"import_time_s":0.5,"mem_mb":15.8,"disk_size":"87M"}]}}