{"library":"portkey-ai","title":"Portkey.ai Python Client","description":"The Portkey.ai Python client library provides an interface to the Portkey API, a unified AI gateway for managing, monitoring, and routing large language model (LLM) requests. It offers features like observability, caching, load balancing, and prompt management across various LLM providers. The library is actively maintained, with frequent updates.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install portkey-ai"],"cli":null},"imports":["from portkey_ai import Portkey","from portkey_ai import AsyncPortkey"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom portkey_ai import Portkey\n\n# Set your Portkey API key as an environment variable: export PORTKEY_API_KEY=\"pk-sk-...\"\n# If using a direct provider (e.g., OpenAI) without Portkey Virtual Keys,\n# you might also need its API key, e.g.: export OPENAI_API_KEY=\"sk-...\"\n\nportkey_client = Portkey(\n    api_key=os.environ.get('PORTKEY_API_KEY', ''),\n    # Use a provider slug from your Portkey Model Catalog\n    # e.g., \"@openai-prod\" if configured in Portkey\n    provider=\"@openai-prod\"\n)\n\ntry:\n    response = portkey_client.chat.completions.create(\n        messages=[\n            {\"role\": \"user\", \"content\": \"What is the capital of France?\"}\n        ],\n        # Model name configured under the \"@openai-prod\" provider in Portkey\n        model=\"gpt-4o\"\n    )\n    print(response.choices[0].message.content)\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")","lang":"python","description":"Initializes the Portkey client using the `PORTKEY_API_KEY` environment variable and directs requests through a configured provider slug (e.g., `@openai-prod`). It then makes a chat completion request using a model available via that provider.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"2.3.1","pypi_latest":"2.3.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":5.3,"avg_import_s":5.35,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":5.6,"mem_mb":46.5,"disk_size":"50.7M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.8,"import_time_s":4.26,"mem_mb":46.5,"disk_size":"50M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":6.45,"mem_mb":47.2,"disk_size":"55.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5,"import_time_s":5.91,"mem_mb":47.2,"disk_size":"54M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":5.16,"mem_mb":46.9,"disk_size":"46.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.4,"import_time_s":5.57,"mem_mb":46.9,"disk_size":"46M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.94,"mem_mb":47.5,"disk_size":"46.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":5.07,"mem_mb":47.5,"disk_size":"45M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":5.45,"mem_mb":49,"disk_size":"50.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"portkey-ai","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.6,"import_time_s":5.13,"mem_mb":49,"disk_size":"49M"}]}}