> ## Documentation Index
> Fetch the complete documentation index at: https://arizeai-433a7140-feat-new-brand-design-system.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Python SDK

> Lightweight Python packages for tracing, evaluation, and platform interaction

Phoenix's Python SDK is modular by design, allowing you to install only what you need. Each package serves a specific purpose and can be used independently or together.

<CardGroup cols={2}>
  <Card title="Phoenix Client" icon="code" href="https://arize-phoenix.readthedocs.io/projects/client/">
    API for the Phoenix platform
  </Card>

  <Card title="Phoenix OTEL" icon="telescope" href="https://arize-phoenix.readthedocs.io/projects/otel/">
    OpenTelemetry tracing with Phoenix defaults
  </Card>

  <Card title="Phoenix Evals" icon="clipboard-check" href="https://arize-phoenix.readthedocs.io/projects/evals/">
    LLM evaluation and metrics toolkit
  </Card>

  <Card title="OpenInference" icon="puzzle-piece" href="https://github.com/Arize-ai/openinference/tree/main/python/openinference-instrumentation">
    Instrumentation and tracing helpers
  </Card>
</CardGroup>

## Installation

Install all packages together or individually based on your needs:

```shell theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
# Install everything
pip install arize-phoenix-client arize-phoenix-otel arize-phoenix-evals

# Or install individually
pip install arize-phoenix-client           # REST API client
pip install arize-phoenix-otel             # Tracing
pip install arize-phoenix-evals            # Evaluations
pip install openinference-instrumentation  # Instrumentation helpers
```

## Environment Variables

All packages respect common Phoenix environment variables for seamless configuration:

| Variable                     | Description                                                         | Used By                                                              |
| ---------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `PHOENIX_ENDPOINT`           | Phoenix base URL — canonical for everything except trace export     | Client, CLI                                                          |
| `PHOENIX_COLLECTOR_ENDPOINT` | Base Phoenix collector URL or full OTLP trace endpoint              | OTEL (Client and CLI infer from it when `PHOENIX_ENDPOINT` is unset) |
| `PHOENIX_API_KEY`            | API key for authentication                                          | Client, OTEL                                                         |
| `PHOENIX_PROJECT`            | Default project name (canonical)                                    | Client, OTEL, CLI                                                    |
| `PHOENIX_PROJECT_NAME`       | Alias for `PHOENIX_PROJECT`; `PHOENIX_PROJECT` wins if both are set | Client, OTEL                                                         |
| `PHOENIX_CLIENT_HEADERS`     | Custom HTTP headers                                                 | Client, OTEL                                                         |
| `PHOENIX_DISCOVER_CONFIG`    | Set to `false` to disable `.env.phoenix` credential-file discovery  | Client, OTEL, CLI                                                    |

Phoenix SDKs and the CLI also auto-load `PHOENIX_`-prefixed settings from a `.env.phoenix` file, discovered by walking up from the current directory. Process environment variables always take precedence. See [Environments](/docs/phoenix/environments).

***

## Phoenix Client

[![PyPI Version](https://img.shields.io/pypi/v/arize-phoenix-client)](https://pypi.org/project/arize-phoenix-client/)

The Phoenix Client provides a programmatic interface to the Phoenix platform via its REST API. Use it to manage datasets, run experiments, analyze traces, and collect feedback.

* **Prompts** — Create, version, and invoke prompt templates with variable substitution
* **Datasets** — Build evaluation datasets from DataFrames, CSV files, or dictionaries
* **Experiments** — Run evaluations and track experiment results over time
* **Spans** — Query and analyze traces with powerful filtering capabilities
* **Annotations** — Add human feedback and automated evaluations to spans
* **Projects** — Organize your work across multiple AI applications

<CardGroup cols={2}>
  <Card title="Usage Guide" icon="book" href="/docs/phoenix/sdk-api-reference/python/arize-phoenix-client">
    Examples and getting started
  </Card>

  <Card title="API Reference" icon="arrow-up-right-from-square" href="https://arize-phoenix.readthedocs.io/projects/client/">
    Full API documentation
  </Card>
</CardGroup>

***

## Phoenix OTEL

[![PyPI Version](https://img.shields.io/pypi/v/arize-phoenix-otel)](https://pypi.org/project/arize-phoenix-otel/)

Phoenix OTEL provides a lightweight wrapper around OpenTelemetry primitives with Phoenix-aware defaults. It simplifies tracing setup and provides decorators for common GenAI patterns.

* **Zero-config tracing** — Enable `auto_instrument=True` to automatically trace AI libraries
* **Phoenix-aware defaults** — Reads `PHOENIX_COLLECTOR_ENDPOINT`, `PHOENIX_API_KEY`, and other environment variables
* **Production ready** — Built-in batching and authentication support
* **Tracing decorators** — `@tracer.chain`, `@tracer.tool`, and more for manual instrumentation
* **OpenTelemetry compatible** — Works with existing OTel infrastructure

<CardGroup cols={2}>
  <Card title="Usage Guide" icon="book" href="/docs/phoenix/sdk-api-reference/python/arize-phoenix-otel">
    Examples and getting started
  </Card>

  <Card title="API Reference" icon="arrow-up-right-from-square" href="https://arize-phoenix.readthedocs.io/projects/otel/">
    Full API documentation
  </Card>
</CardGroup>

***

## Phoenix Evals

[![PyPI Version](https://img.shields.io/pypi/v/arize-phoenix-evals)](https://pypi.org/project/arize-phoenix-evals/)

Phoenix Evals provides lightweight, composable building blocks for evaluating LLM applications. It includes tools for relevance scoring, faithfulness detection, toxicity checks, and custom metrics.

* **Model adapters** — Works with OpenAI, LiteLLM, LangChain, and other providers
* **Pre-built metrics** — Faithfulness detection, relevance, toxicity, and more
* **Input mapping** — Powerful binding for complex data structures
* **Native instrumentation** — OpenTelemetry tracing for observability
* **High performance** — Up to 20x speedup with built-in concurrency and batching

<CardGroup cols={2}>
  <Card title="Usage Guide" icon="book" href="/docs/phoenix/sdk-api-reference/python/arize-phoenix-evals">
    Examples and getting started
  </Card>

  <Card title="API Reference" icon="arrow-up-right-from-square" href="https://arize-phoenix.readthedocs.io/projects/evals/">
    Full API documentation
  </Card>
</CardGroup>

***

## OpenInference

[![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation)](https://pypi.org/project/openinference-instrumentation/)

OpenInference provides instrumentation utilities and helpers for tracing AI applications. Use it alongside Phoenix OTEL for decorators, context managers, and data masking capabilities.

* **Decorators** — Use `@tracer.agent`, `@tracer.chain`, `@tracer.tool` to trace custom functions
* **Context managers** — Wrap code blocks with `using_` helpers for fine-grained control
* **Data masking** — Redact sensitive information from traces with built-in masking utilities
* **Framework instrumentors** — Auto-trace OpenAI, LangChain, LlamaIndex, Anthropic, and more

<CardGroup cols={2}>
  <Card title="Usage Guide" icon="book" href="/docs/phoenix/sdk-api-reference/openinference-sdk/openinference-python">
    Examples and getting started
  </Card>

  <Card title="GitHub" icon="arrow-up-right-from-square" href="https://github.com/Arize-ai/openinference/tree/main/python/openinference-instrumentation">
    Source code and documentation
  </Card>
</CardGroup>
