Skip to main content
This guide helps you migrate from Arize Python SDK v7 to v8.

Key Architectural Changes

Unified Client The new v8 introduces a single ArizeClient that replaces all specialized clients from v7. This provides a unified, discoverable interface following the pattern:
client.<resource>.<action>()
Explicit space_id Many operations now require passing space_id explicitly per call, rather than configuring it once during client initialization. This enables working with multiple spaces from a single client instance. Keyword-only arguments The new v8 methods use keyword-only parameters (using * in signatures) to improve code clarity and prevent positional argument errors.

Quick Reference

This section provides a quick lookup table for migrating from v7 to v8 methods. Each subsection shows the client initialization change and method mappings. For detailed migration guides with parameter changes and code examples, see the linked pages.

Pandas Client

The Pandas Client is used for batch logging of LLM traces, evaluations, and traditional ML model predictions using pandas DataFrames.
from arize.pandas.logger import Client
client = Client(...)
v7v8Details
client.log()client.ml.log()See details →
client.log_spans()client.spans.log()See details →
client.log_evaluations()client.spans.update_evaluations()See details →
client.log_evaluations_sync()client.spans.update_evaluations()See details →
client.log_annotations()client.spans.update_annotations()See details →
client.log_metadata()client.spans.update_metadata()See details →

Stream Client

The Stream Client is used for real-time logging of model predictions, providing lower latency than batch logging.
from arize.api import Client
client = Client(...)
v7v8Details
client.log()client.ml.log_stream()See details →

Datasets & Experiments

The Datasets & Experiments Client is used for creating and managing datasets, running experiments, and tracking evaluation results.
from arize.experimental.datasets import ArizeDatasetsClient
client = ArizeDatasetsClient(...)

Datasets

v7v8Details
client.list_datasets()client.datasets.list()See details →
client.create_dataset()client.datasets.create()See details →
client.get_dataset()client.datasets.get() + client.datasets.list_examples()v8 splits into metadata (datasets.get()) and examples (datasets.list_examples()). See details →
client.update_dataset()N/AComing soon in v8
client.delete_dataset()client.datasets.delete()See details →
client.get_dataset_versions()N/AMerged into get() response

Experiments

v7v8Details
client.run_experiment()client.experiments.run()See details →
client.log_experiment()client.experiments.create()See details →
client.get_experiment()client.experiments.get() + client.experiments.list_runs()v8 splits into metadata (experiments.get()) and runs data (experiments.list_runs()). See details →
client.delete_experiment()client.experiments.delete()See details →

Exporter

The Exporter Client is used for exporting data from Arize back to pandas DataFrames or Parquet files for analysis, debugging, or building custom workflows.
from arize.exporter import ArizeExportClient
client = ArizeExportClient(...)
v7v8Details
client.export_model_to_df() (for spans/LLM)client.spans.export_to_df()See details →
client.export_model_to_parquet() (for spans/LLM)client.spans.export_to_parquet()See details →
client.export_model_to_df() (for models)client.ml.export_to_df()See details →
client.export_model_to_parquet() (for models)client.ml.export_to_parquet()See details →

Next Steps

For detailed migration guides with code examples: