Skip to main content
This section covers migrating experiment methods from v7’s ArizeDatasetsClient to v8’s ArizeClient.experiments.
from arize.experimental.datasets import ArizeDatasetsClient

# v7 api_key parameter took developer key values
client = ArizeDatasetsClient(
    api_key="your-developer-key"  # Developer key (deprecated)
)

run_experiment()

The run_experiment() method migrates from client.run_experiment() to client.experiments.run().

Parameter Reference

Parameterv7v8Changes
space_idRequired❌ RemovedNot needed in v8
experiment_nameRequiredRequiredRenamed to name
nameN/A✅ RequiredRenamed from experiment_name
taskRequiredRequired
dataset_dfOptional❌ RemovedDataset downloaded automatically in v8, use dataset_id
dataset_idOptionalRequiredNow required; no longer accepts dataset_name
dataset_nameOptional❌ RemovedUse dataset_id instead
evaluatorsOptionalOptional
dry_runOptionalOptional
dry_run_countN/A✅ OptionalNumber of examples to use in dry run (default 10)
concurrencyOptionalOptional
set_global_tracer_providerOptionalOptional
exit_on_errorOptionalOptional

Side-by-Side Comparison

from arize.experimental.datasets import ArizeDatasetsClient

# Client initialization
client = ArizeDatasetsClient(api_key="your-developer-key")

# Run experiment
experiment_id, results_df = client.run_experiment(
    space_id="your-space-id",
    experiment_name="my-experiment",
    task=my_task,
    dataset_id="dataset-123",  # or dataset_name="my-dataset"
    evaluators=my_evaluators,
    dry_run=False,
    concurrency=3,
    set_global_tracer_provider=False,
    exit_on_error=False
)

log_experiment()

The log_experiment() method migrates from client.log_experiment() to client.experiments.create().

Parameter Reference

Parameterv7v8Changes
space_idRequired❌ RemovedNot needed in v8
experiment_nameRequiredRequiredRenamed to name
nameN/A✅ RequiredRenamed from experiment_name
experiment_dfRequiredRequiredRenamed to experiment_runs
experiment_runsN/A✅ RequiredRenamed from experiment_df; accepts DataFrame or list of dicts
task_columnsRequiredRequiredRenamed to task_fields
task_fieldsN/A✅ RequiredRenamed from task_columns
evaluator_columnsOptionalOptional
dataset_idOptionalRequiredNow required; no longer accepts dataset_name
dataset_nameOptional❌ RemovedUse dataset_id instead
force_httpN/A✅ OptionalForce HTTP upload instead of gRPC (default False)

Side-by-Side Comparison

from arize.experimental.datasets import ArizeDatasetsClient
from arize.experimental.datasets.experiments.types import (
    ExperimentTaskResultColumnNames,
    EvaluationResultColumnNames
)

# Client initialization
client = ArizeDatasetsClient(api_key="your-developer-key")

# Log experiment
experiment_id = client.log_experiment(
    space_id="your-space-id",
    experiment_name="my-experiment",
    experiment_df=results_df,
    task_columns=ExperimentTaskResultColumnNames(
        example_id="example_id",
        result="output"
    ),
    evaluator_columns={
        "accuracy": EvaluationResultColumnNames(
            score="accuracy_score"
        )
    },
    dataset_id="dataset-123"  # or dataset_name="my-dataset"
)

get_experiment()

The get_experiment() method has a different behavior in v8. In v7, client.get_experiment() returned the experiment data including all runs. In v8, client.experiments.get() returns only the experiment metadata, while client.experiments.list_runs() retrieves the actual experiment runs.

Parameter Reference

For experiment metadata (v8’s experiments.get()):
Parameterv7v8Changes
space_idRequired❌ RemovedNot needed in v8
experiment_idOptionalRequiredNow required and simplified
experiment_nameOptional❌ RemovedUse experiment_id instead
dataset_nameOptional❌ RemovedUse experiment_id instead
For experiment runs (v8’s experiments.list_runs()):
Parameterv7v8Changes
experiment_idOptionalRequired
limitN/A✅ OptionalMaximum number of runs per page (default 100); ignored if all=True
allN/A✅ OptionalWhen True, retrieves all runs via Flight (bypasses pagination). When False (default), uses REST with pagination

Side-by-Side Comparison

from arize.experimental.datasets import ArizeDatasetsClient

# Client initialization
client = ArizeDatasetsClient(api_key="your-developer-key")

# Get experiment data (includes runs)
experiment_df = client.get_experiment(
    space_id="your-space-id",
    experiment_id="exp-123"
)
# Returns: pandas DataFrame with experiment runs

# Or get by name
experiment_df = client.get_experiment(
    space_id="your-space-id",
    experiment_name="my-experiment",
    dataset_name="my-dataset"
)

delete_experiment()

The delete_experiment() method migrates from client.delete_experiment() to client.experiments.delete().

Parameter Reference

Parameterv7v8Changes
space_idRequired❌ RemovedNot needed in v8
experiment_idOptionalRequiredNow required; no longer accepts experiment_name + dataset_name
experiment_nameOptional❌ RemovedUse experiment_id instead
dataset_nameOptional❌ RemovedUse experiment_id instead

Side-by-Side Comparison

from arize.experimental.datasets import ArizeDatasetsClient

# Client initialization
client = ArizeDatasetsClient(api_key="your-developer-key")

# Delete experiment by ID
success, deleted_id = client.delete_experiment(
    space_id="your-space-id",
    experiment_id="exp-123"
)

# Or delete by name
success, deleted_id = client.delete_experiment(
    space_id="your-space-id",
    experiment_name="my-experiment",
    dataset_name="my-dataset"
)