Arize (arize SDK)
raw JSON → 8.2.0 verified Mon May 11 auth: yes python install: verified quickstart: verified
Python SDK for interacting with Arize AX — Arize's enterprise AI engineering platform. IMPORTANT: The 'arize' package covers two separate product tracks with distinct APIs that coexist in the same package. (1) arize.api.Client / arize.ml — the v7 legacy ML monitoring SDK for logging predictions, actuals, embeddings, and drift data to the Arize ML platform. (2) arize.ArizeClient — the v8 LLM/agent observability API for tracing spans, evaluations, and datasets. v7 and v8 are NOT interchangeable. v7 support ends June 1, 2026. Also note: 'arize-phoenix' is a SEPARATE package — Phoenix is Arize's open-source observability tool. Do not conflate arize (enterprise cloud) with arize-phoenix (OSS self-hosted).
pip install arize Common errors
error ModuleNotFoundError: No module named 'arize' ↓
cause The 'arize' package is not installed in the Python environment.
fix
Install the package using pip: 'pip install arize'.
error ImportError: cannot import name 'ArizeClient' from 'arize' ↓
cause Attempting to import 'ArizeClient' from an older version of the 'arize' package that does not include this class.
fix
Upgrade to the latest version of the 'arize' package: 'pip install --upgrade arize'.
error TypeError: 'NoneType' object is not iterable ↓
cause The 'context.span_id' column is missing or contains None values when updating metadata using the 'update_metadata' method.
fix
Ensure the 'context.span_id' column exists and contains valid span IDs in the DataFrame before calling 'update_metadata'.
error ValueError: Invalid API key ↓
cause An incorrect or missing API key is provided when initializing the 'ArizeClient'.
fix
Provide a valid API key when initializing the client: 'client = ArizeClient(api_key="your-api-key")'.
error AttributeError: module 'arize' has no attribute 'pandas' ↓
cause The 'arize.pandas' module is not available in the installed version of the 'arize' package.
fix
Ensure you are using the correct import statement: 'from arize.pandas.logger import Client, Schema'.
Warnings
breaking v7 (arize.api.Client) and v8 (arize.ArizeClient) are architecturally different and not interchangeable. v7 Client requires space_id at construction and uses space_key. v8 ArizeClient requires only api_key at construction and uses space_id per-call. Tutorials and StackOverflow answers referencing from arize.api import Client with space_key= are v7 patterns. v7 EOL is June 1, 2026. ↓
fix Migrate to v8 ArizeClient. Follow the official migration guide at arize.com/docs/ax. Confirm you're using api_key (not space_key) and passing space_id per-call.
breaking 'arize' (this package) and 'arize-phoenix' are DIFFERENT products on PyPI. arize = enterprise Arize AX cloud platform. arize-phoenix = open-source self-hosted observability platform (Phoenix). They share the Arize AI org, OpenInference instrumentors, and some API patterns — but they are separate services, separate credentials, and separate packages. pip install arize does NOT install Phoenix. pip install arize-phoenix does NOT include the Arize AX client. ↓
fix Determine which product you're targeting. Arize AX cloud: pip install arize. Phoenix OSS: pip install arize-phoenix (or its sub-packages arize-phoenix-otel, arize-phoenix-client, arize-phoenix-evals).
gotcha A dependency in the openinference ecosystem had a broken dependency on 'phoenix-client' (non-existent on PyPI) instead of 'arize-phoenix-client'. This caused 'No matching distribution found for phoenix-client' install failures in affected versions (reported Feb 2026). The bug was in openinference packages, not arize directly. ↓
fix If you hit this error, upgrade openinference packages: pip install --upgrade openinference-instrumentation. The bug was fixed promptly.
gotcha arize[Tracing] installs the arize-otel package as an extra. If you only need OTel registration without the full arize SDK (for Phoenix or other backends), install arize-otel directly instead. Both arize.otel and phoenix.otel expose a register() function with identical signatures — mixing them in the same codebase sends to different backends. ↓
fix Use from arize.otel import register to send to Arize AX. Use from phoenix.otel import register to send to Phoenix. They look identical but point to different endpoints.
Install
pip install 'arize[Tracing]' pip install 'arize[NLP_Metrics]' Install compatibility verified last tested: 2026-05-11
python os / libc variant status wheel install import disk
3.10 alpine (musl) NLP_Metrics - - 5.79s 384.6M
3.10 alpine (musl) Tracing - - 5.76s 384.6M
3.10 alpine (musl) arize - - 5.84s 384.6M
3.10 slim (glibc) NLP_Metrics - - 5.00s 351M
3.10 slim (glibc) Tracing - - 4.86s 351M
3.10 slim (glibc) arize - - 4.72s 351M
3.11 alpine (musl) NLP_Metrics - - 7.05s 411.6M
3.11 alpine (musl) Tracing - - 6.95s 411.6M
3.11 alpine (musl) arize - - 6.75s 411.6M
3.11 slim (glibc) NLP_Metrics - - 7.62s 377M
3.11 slim (glibc) Tracing - - 7.08s 377M
3.11 slim (glibc) arize - - 7.33s 377M
3.12 alpine (musl) NLP_Metrics - - 6.21s 395.4M
3.12 alpine (musl) Tracing - - 5.72s 395.4M
3.12 alpine (musl) arize - - 5.79s 395.4M
3.12 slim (glibc) NLP_Metrics - - 7.13s 361M
3.12 slim (glibc) Tracing - - 6.74s 361M
3.12 slim (glibc) arize - - 6.93s 361M
3.13 alpine (musl) NLP_Metrics - - 5.18s 394.4M
3.13 alpine (musl) Tracing - - 4.76s 394.4M
3.13 alpine (musl) arize - - 4.63s 394.4M
3.13 slim (glibc) NLP_Metrics - - 6.16s 360M
3.13 slim (glibc) Tracing - - 6.24s 360M
3.13 slim (glibc) arize - - 6.46s 360M
3.9 alpine (musl) NLP_Metrics - - - -
3.9 alpine (musl) Tracing - - - -
3.9 alpine (musl) arize - - - -
3.9 slim (glibc) NLP_Metrics - - - -
3.9 slim (glibc) Tracing - - - -
3.9 slim (glibc) arize - - - -
Imports
- ArizeClient (v8) wrong
from arize.api import Clientcorrectfrom arize import ArizeClient - Client (v7 legacy ML) wrong
from arize import Clientcorrectfrom arize.api import Client - register (OTel tracing) wrong
from arize import registercorrectfrom arize.otel import register
Quickstart verified last tested: 2026-05-11
import os
from arize import ArizeClient
# v8 API: ArizeClient takes only api_key at init
client = ArizeClient(api_key=os.environ['ARIZE_API_KEY'])
SPACE_ID = os.environ['ARIZE_SPACE_ID']
PROJECT_NAME = 'my-llm-app'
# Log spans from a dataframe
# spans_df must be a pandas DataFrame with OTel-compatible columns
client.spans.log(
space_id=SPACE_ID,
project_name=PROJECT_NAME,
dataframe=spans_df
)
# Log evaluations separately
client.spans.update_evaluations(
space_id=SPACE_ID,
project_name=PROJECT_NAME,
dataframe=evals_df
)
# Export spans back out
from datetime import datetime
df = client.spans.export_to_df(
space_id=SPACE_ID,
project_name=PROJECT_NAME,
start_time=datetime(2025, 1, 1),
end_time=datetime(2026, 1, 1)
)
# OTel tracing (auto-instrument your app to send spans live)
from arize.otel import register
tracer_provider = register(
space_id=SPACE_ID,
api_key=os.environ['ARIZE_API_KEY'],
project_name=PROJECT_NAME
)
# After register(), OTel-compatible instrumentors (OpenInference)
# will auto-export spans to Arize
from openinference.instrumentation.openai import OpenAIInstrumentor
OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)