{"id":4,"library":"arize","title":"Arize (arize SDK)","description":"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).","status":"active","version":"8.2.0","language":"python","source_language":"en","source_url":"https://github.com/Arize-ai/client_python","tags":["arize","observability","llm-monitoring","tracing","evaluation","ml-monitoring","opentelemetry","openinference","enterprise"],"install":[{"cmd":"pip install arize","lang":"bash","label":"Base SDK (v8 ArizeClient + v7 ML Client)"},{"cmd":"pip install 'arize[Tracing]'","lang":"bash","label":"Adds arize-otel for OTel-based tracing registration"},{"cmd":"pip install 'arize[NLP_Metrics]'","lang":"bash","label":"Adds NLP evaluation metric extras"}],"dependencies":[],"imports":[{"note":"v8 entry point. Top-level import. Requires only api_key — space_id is passed per-call, not at init.","wrong":"from arize.api import Client","symbol":"ArizeClient (v8)","correct":"from arize import ArizeClient"},{"note":"v7 legacy ML monitoring client. Requires BOTH api_key and space_id at init. Still present in v8 package for backwards compat but support ends June 1, 2026.","wrong":"from arize import Client","symbol":"Client (v7 legacy ML)","correct":"from arize.api import Client"},{"note":"OTel tracer provider registration. Available with arize[Tracing] extra or standalone arize-otel package. Sets up OTLP export to Arize.","wrong":"from arize import register","symbol":"register (OTel tracing)","correct":"from arize.otel import register"}],"quickstart":{"code":"import os\nfrom arize import ArizeClient\n\n# v8 API: ArizeClient takes only api_key at init\nclient = ArizeClient(api_key=os.environ['ARIZE_API_KEY'])\n\nSPACE_ID = os.environ['ARIZE_SPACE_ID']\nPROJECT_NAME = 'my-llm-app'\n\n# Log spans from a dataframe\n# spans_df must be a pandas DataFrame with OTel-compatible columns\nclient.spans.log(\n    space_id=SPACE_ID,\n    project_name=PROJECT_NAME,\n    dataframe=spans_df\n)\n\n# Log evaluations separately\nclient.spans.update_evaluations(\n    space_id=SPACE_ID,\n    project_name=PROJECT_NAME,\n    dataframe=evals_df\n)\n\n# Export spans back out\nfrom datetime import datetime\ndf = client.spans.export_to_df(\n    space_id=SPACE_ID,\n    project_name=PROJECT_NAME,\n    start_time=datetime(2025, 1, 1),\n    end_time=datetime(2026, 1, 1)\n)\n\n# OTel tracing (auto-instrument your app to send spans live)\nfrom arize.otel import register\ntracer_provider = register(\n    space_id=SPACE_ID,\n    api_key=os.environ['ARIZE_API_KEY'],\n    project_name=PROJECT_NAME\n)\n# After register(), OTel-compatible instrumentors (OpenInference)\n# will auto-export spans to Arize\nfrom openinference.instrumentation.openai import OpenAIInstrumentor\nOpenAIInstrumentor().instrument(tracer_provider=tracer_provider)","lang":"python","description":"v8 ArizeClient only takes api_key at construction. space_id and project_name are passed per-call. This is the opposite of v7 Client, which required both at init."},"warnings":[{"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.","message":"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.","severity":"breaking","affected_versions":">=8.0.0"},{"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).","message":"'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.","severity":"breaking","affected_versions":"all"},{"fix":"If you hit this error, upgrade openinference packages: pip install --upgrade openinference-instrumentation. The bug was fixed promptly.","message":"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.","severity":"gotcha","affected_versions":"openinference packages circa Feb 2026"},{"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.","message":"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.","severity":"gotcha","affected_versions":"all"}],"env_vars":{"required":[{"name":"ARIZE_API_KEY","note":"Get from Arize AX → Settings → API Keys. Used by both v7 ArizeExportClient and v8 ArizeClient."},{"name":"ARIZE_SPACE_ID","note":"Your Arize space identifier. Required for most operations. Not to be confused with space_key (v7 legacy param — removed in v8)."}]},"search_vec":"'1':35,80 '2':57 '2026':81 'actual':47 'ai':14 'also':82 'api':28,63 'ariz':1,2,9,11,19,54,85,93,103,108,114 'arize-phoenix':84,107 'arize.api.client':36 'arize.arizeclient':58 'arize.ml':37 'ax':10 'cloud':105 'coexist':30 'conflat':102 'cover':21 'data':51 'dataset':69 'distinct':27 'drift':50 'embed':48 'end':78 'engin':15 'enterpris':13,104,126 'evalu':67,120 'host':113 'import':17 'interact':7 'interchang':75 'june':79 'legaci':40 'llm':117 'llm-monitor':116 'llm/agent':61 'log':45 'ml':41,55,122 'ml-monitor':121 'monitor':42,118,123 'note':83 'observ':62,98,115 'open':96 'open-sourc':95 'openinfer':125 'opentelemetri':124 'oss':110 'packag':20,34,90 'phoenix':86,91,109 'platform':16,56 'predict':46 'product':24 'python':4 'sdk':3,5,43 'self':112 'self-host':111 'separ':23,89 'sourc':97 'span':66 'support':77 'tool':99 'trace':65,119 'track':25 'two':22 'v7':39,70,76 'v8':60,72","created_at":"2026-03-16T04:39:09.011572+00:00","updated_at":"2026-04-15T20:59:21.617277+00:00","problems":[{"fix":"Install the package using pip: 'pip install arize'.","cause":"The 'arize' package is not installed in the Python environment.","error":"ModuleNotFoundError: No module named 'arize'"},{"fix":"Upgrade to the latest version of the 'arize' package: 'pip install --upgrade arize'.","cause":"Attempting to import 'ArizeClient' from an older version of the 'arize' package that does not include this class.","error":"ImportError: cannot import name 'ArizeClient' from 'arize'"},{"fix":"Ensure the 'context.span_id' column exists and contains valid span IDs in the DataFrame before calling 'update_metadata'.","cause":"The 'context.span_id' column is missing or contains None values when updating metadata using the 'update_metadata' method.","error":"TypeError: 'NoneType' object is not iterable"},{"fix":"Provide a valid API key when initializing the client: 'client = ArizeClient(api_key=\"your-api-key\")'.","cause":"An incorrect or missing API key is provided when initializing the 'ArizeClient'.","error":"ValueError: Invalid API key"},{"fix":"Ensure you are using the correct import statement: 'from arize.pandas.logger import Client, Schema'.","cause":"The 'arize.pandas' module is not available in the installed version of the 'arize' package.","error":"AttributeError: module 'arize' has no attribute 'pandas'"}],"ecosystem":"pypi","meta_description":null,"install_score":85,"quickstart_score":70,"quickstart_tag":"verified","pypi_latest":"8.33.0","cli_name":"","cli_version":null,"type":"library","homepage":"https://arize.com","github":"https://github.com/Arize-ai/client_python","docs":"https://docs.arize.com/arize","changelog":"https://github.com/Arize-ai/client_python/blob/main/CHANGELOG.md","pypi":"https://pypi.org/project/arize/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["observability","llm-agents","ai-ml"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-27","last_verified":"2026-06-27","next_check":"2026-07-27","install_tag":"verified"}}