> ## Documentation Index
> Fetch the complete documentation index at: https://arize-ax.mintlify.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration Overview

> Migrate from Arize Python SDK v7 to v8. Unified client architecture, explicit space_id, and keyword-only arguments.

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.

<CodeGroup>
  ```python Version 7 theme={null}
  from arize.pandas.logger import Client
  client = Client(...)
  ```

  ```python Version 8 theme={null}
  from arize import ArizeClient
  client = ArizeClient(...)
  ```
</CodeGroup>

| v7                              | v8                                  | Details                                                                                                       |
| ------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `client.log()`                  | `client.ml.log()`                   | [See details →](/api-clients/python/version-8/migration/pandas-client#log)                                    |
| `client.log_spans()`            | `client.spans.log()`                | [See details →](/api-clients/python/version-8/migration/pandas-client#log_spans)                              |
| `client.log_evaluations()`      | `client.spans.update_evaluations()` | [See details →](/api-clients/python/version-8/migration/pandas-client#log_evaluations-&-log_evaluations_sync) |
| `client.log_evaluations_sync()` | `client.spans.update_evaluations()` | [See details →](/api-clients/python/version-8/migration/pandas-client#log_evaluations-&-log_evaluations_sync) |
| `client.log_annotations()`      | `client.spans.update_annotations()` | [See details →](/api-clients/python/version-8/migration/pandas-client#log_annotations)                        |
| `client.log_metadata()`         | `client.spans.update_metadata()`    | [See details →](/api-clients/python/version-8/migration/pandas-client#log_metadata)                           |

### Stream Client

The Stream Client is used for real-time logging of model predictions, providing lower latency than batch logging.

<CodeGroup>
  ```python Version 7 theme={null}
  from arize.api import Client
  client = Client(...)
  ```

  ```python Version 8 theme={null}
  from arize import ArizeClient
  client = ArizeClient(...)
  ```
</CodeGroup>

| v7             | v8                       | Details                                                                    |
| -------------- | ------------------------ | -------------------------------------------------------------------------- |
| `client.log()` | `client.ml.log_stream()` | [See details →](/api-clients/python/version-8/migration/stream-client#log) |

### Datasets & Experiments

The Datasets & Experiments Client is used for creating and managing datasets, running experiments, and tracking evaluation results.

<CodeGroup>
  ```python Version 7 theme={null}
  from arize.experimental.datasets import ArizeDatasetsClient
  client = ArizeDatasetsClient(...)
  ```

  ```python Version 8 theme={null}
  from arize import ArizeClient
  client = ArizeClient(...)
  ```
</CodeGroup>

#### Datasets

| v7                              | v8                                                          | Details                                                                                                                                                                    |
| ------------------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `client.list_datasets()`        | `client.datasets.list()`                                    | [See details →](/api-clients/python/version-8/migration/datasets-client#list_datasets)                                                                                     |
| `client.create_dataset()`       | `client.datasets.create()`                                  | [See details →](/api-clients/python/version-8/migration/datasets-client#create_dataset)                                                                                    |
| `client.get_dataset()`          | `client.datasets.get()` + `client.datasets.list_examples()` | v8 splits into metadata (`datasets.get()`) and examples (`datasets.list_examples()`). [See details →](/api-clients/python/version-8/migration/datasets-client#get_dataset) |
| `client.update_dataset()`       | N/A                                                         | Coming soon in v8                                                                                                                                                          |
| `client.delete_dataset()`       | `client.datasets.delete()`                                  | [See details →](/api-clients/python/version-8/migration/datasets-client#delete_dataset)                                                                                    |
| `client.get_dataset_versions()` | N/A                                                         | Merged into `get()` response                                                                                                                                               |

#### Experiments

| v7                           | v8                                                            | Details                                                                                                                                                                             |
| ---------------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `client.run_experiment()`    | `client.experiments.run()`                                    | [See details →](/api-clients/python/version-8/migration/experiments-client#run_experiment)                                                                                          |
| `client.log_experiment()`    | `client.experiments.create()`                                 | [See details →](/api-clients/python/version-8/migration/experiments-client#log_experiment)                                                                                          |
| `client.get_experiment()`    | `client.experiments.get()` + `client.experiments.list_runs()` | v8 splits into metadata (`experiments.get()`) and runs data (`experiments.list_runs()`). [See details →](/api-clients/python/version-8/migration/experiments-client#get_experiment) |
| `client.delete_experiment()` | `client.experiments.delete()`                                 | [See details →](/api-clients/python/version-8/migration/experiments-client#delete_experiment)                                                                                       |

### 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.

<CodeGroup>
  ```python Version 7 theme={null}
  from arize.exporter import ArizeExportClient
  client = ArizeExportClient(...)
  ```

  ```python Version 8 theme={null}
  from arize import ArizeClient
  client = ArizeClient(...)
  ```
</CodeGroup>

| v7                                                 | v8                                 | Details                                                                                                     |
| -------------------------------------------------- | ---------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `client.export_model_to_df()` (for spans/LLM)      | `client.spans.export_to_df()`      | [See details →](/api-clients/python/version-8/migration/exporter-client#export_model_to_df-for-spans)       |
| `client.export_model_to_parquet()` (for spans/LLM) | `client.spans.export_to_parquet()` | [See details →](/api-clients/python/version-8/migration/exporter-client#export_model_to_parquet-for-spans)  |
|                                                    |                                    |                                                                                                             |
| `client.export_model_to_df()` (for models)         | `client.ml.export_to_df()`         | [See details →](/api-clients/python/version-8/migration/exporter-client#export_model_to_df-for-models)      |
| `client.export_model_to_parquet()` (for models)    | `client.ml.export_to_parquet()`    | [See details →](/api-clients/python/version-8/migration/exporter-client#export_model_to_parquet-for-models) |

## Next Steps

For detailed migration guides with code examples:

* [Pandas Client Migration →](/api-clients/python/version-8/migration/pandas-client)
* [Stream Client Migration →](/api-clients/python/version-8/migration/stream-client)
* Datasets Client Migration
  * [Datasets →](/api-clients/python/version-8/migration/datasets-client)
  * [Experiments →](/api-clients/python/version-8/migration/experiments-client)
* [Exporter Migration →](/api-clients/python/version-8/migration/exporter-client)
