Skip to main content

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.

This page is the full reference for the Arize AX Airflow Provider. It lists every operator, sensor, and hook in the package, grouped by the resource each one acts on. For setup, connection configuration, and patterns, start with the provider overview.

Import paths

Every class lives under the airflow.providers.arize_ax namespace:
# Operators: one module per resource domain
from airflow.providers.arize_ax.operators.datasets       import ...
from airflow.providers.arize_ax.operators.experiments    import ...
from airflow.providers.arize_ax.operators.projects       import ...
from airflow.providers.arize_ax.operators.spans          import ...
from airflow.providers.arize_ax.operators.ml             import ...
from airflow.providers.arize_ax.operators.evaluators     import ...
from airflow.providers.arize_ax.operators.tasks          import ...
from airflow.providers.arize_ax.operators.prompts        import ...
from airflow.providers.arize_ax.operators.spaces         import ...
from airflow.providers.arize_ax.operators.annotations    import ...
from airflow.providers.arize_ax.operators.api_keys       import ...
from airflow.providers.arize_ax.operators.ai_integrations import ...

# Sensors: a single module
from airflow.providers.arize_ax.sensors.arize_ax import ...

# Hook: used by every operator under the hood
from airflow.providers.arize_ax.hooks.arize_ax import ArizeAxHook
Common params. Every operator accepts arize_ax_conn_id (default arize_ax_default). Most accept space_id, which the provider resolves in this order: the operator argument, then the connection’s extra.default_space, then the Airflow Variable arize_ax_space_id. Create* operators accept if_exists="skip" for idempotent re-runs. Delete* and Get* operators accept ignore_if_missing=True. See design patterns.

Hook

ArizeAxHook is the only hook class. Every operator instantiates it in execute() to get a cached ArizeClient. You only use the hook directly when no operator covers your pattern.
from airflow.providers.arize_ax.hooks.arize_ax import ArizeAxHook

hook = ArizeAxHook(arize_ax_conn_id="arize_ax_default")
client = hook.get_conn()  # cached ArizeClient
datasets = hook.list_datasets(space_id="...", limit=50)
The hook exposes typed wrappers for every resource the operators cover (list_datasets, create_experiment, export_spans_to_df, trigger_task_run, log_spans, list_evaluators, and so on). It also handles pagination, retries transient Flight errors on span exports, and re-raises SDK 404s and backend errors as AirflowException with clear messages.

Datasets

Module: airflow.providers.arize_ax.operators.datasets
OperatorPurposeKey params
ArizeAxListDatasetsOperatorList datasets in a space.space_id, limit, cursor
ArizeAxCreateDatasetOperatorCreate a dataset, optionally with starter examples.space_id, name, examples or examples_path, if_exists
ArizeAxGetDatasetOperatorFetch a dataset by ID.dataset_id
ArizeAxDeleteDatasetOperatorDelete a dataset.dataset_id, ignore_if_missing
ArizeAxListDatasetExamplesOperatorList examples in a dataset (or a specific version).dataset_id, dataset_version_id, limit, all
ArizeAxAppendDatasetExamplesOperatorAppend examples from memory, CSV, or JSON.dataset_id, examples or examples_path
ArizeAxExportDatasetExamplesToFileOperatorExport all examples to JSON (paginated via SDK Flight).dataset_id, path, dataset_version_id
ArizeAxEvalDatasetHealthOperatorScore a dataset on freshness, diversity, and coverage vs production.dataset_id, project_id, start_time, end_time
ArizeAxSmartDatasetRefreshOperatorEvolve a dataset with diverse, high-value production examples.dataset_id, project_id, start_time, end_time, diversity_strategy

Experiments

Module: airflow.providers.arize_ax.operators.experiments
OperatorPurposeKey params
ArizeAxListExperimentsOperatorList experiments for a dataset.dataset_id, limit, cursor
ArizeAxCreateExperimentOperatorCreate experiment with pre-computed runs.name, dataset_id, experiment_runs, task_fields, evaluator_columns, if_exists
ArizeAxGetExperimentOperatorFetch an experiment by ID.experiment_id
ArizeAxDeleteExperimentOperatorDelete an experiment.experiment_id, ignore_if_missing
ArizeAxRunExperimentOperatorRun a task + evaluators end-to-end against a dataset.name, dataset_id, task, evaluators, concurrency, dry_run
ArizeAxListExperimentRunsOperatorList runs for an experiment.experiment_id, limit, cursor
ArizeAxExportExperimentRunsToFileOperatorExport all runs to a JSON file.experiment_id, path
ArizeAxGetExperimentScoreOperatorAggregate eval scores; gates on min_score.experiment_id, metric_names, aggregation, min_score
ArizeAxCompareExperimentsOperatorCompare candidate vs baseline; gates on regression.candidate_experiment_id, baseline_experiment_id, pass_threshold, fail_on_regression
ArizeAxDetectEvalDriftOperatorDetect metric drift between experiments; gates on drift.experiment_id, baseline_id, drift_threshold, fail_on_drift
ArizeAxEvaluatorCalibrationOperatorMeasure LLM-judge correlation vs human labels; gates on calibration.experiment_id, human_label_column, calibration_threshold, fail_on_poor_calibration
ArizeAxBehavioralRegressionOperatorCompare behavioral distributions; gates on regression.candidate_id, baseline_id, metrics, fail_on_regression
ArizeAxEvalBudgetAllocatorOperatorDistribute evaluation budget across projects.projects, total_budget, allocation_strategy

Projects

Module: airflow.providers.arize_ax.operators.projects
OperatorPurposeKey params
ArizeAxListProjectsOperatorList projects in a space.space_id, limit, cursor
ArizeAxCreateProjectOperatorCreate a project.space_id, name, if_exists
ArizeAxGetProjectOperatorFetch a project by ID.project_id
ArizeAxDeleteProjectOperatorDelete a project.project_id, ignore_if_missing

Spans

Module: airflow.providers.arize_ax.operators.spans
OperatorPurposeKey params
ArizeAxListSpansOperatorList spans from a project (alpha).project_id, space_id, filter, start_time, end_time
ArizeAxSpansLogOperatorBulk-log spans from DataFrame, CSV, or JSON.space_id, project_name, dataframe or dataframe_path, evals_dataframe
ArizeAxSpansUpdateEvaluationsOperatorUpdate span evaluations from a DataFrame.space_id, project_name, dataframe or dataframe_path
ArizeAxSpansUpdateAnnotationsOperatorUpdate span annotations from a DataFrame.space_id, project_name, dataframe or dataframe_path
ArizeAxSpansUpdateMetadataOperatorUpdate span metadata from a DataFrame.space_id, project_name, dataframe or dataframe_path
ArizeAxSpansExportToDataframeOperatorExport filtered spans to a DataFrame.space_id, project_name, start_time, end_time, where, columns
ArizeAxSpansExportToParquetOperatorExport filtered spans to a Parquet file.space_id, project_name, start_time, end_time, path, where
ArizeAxExportSpansToFineTuningOperatorExport spans as OpenAI fine-tuning JSONL.space_id, project_name, start_time, end_time, path
ArizeAxGetSpanMetricsOperatorAggregate latency, cost, and token metrics.space_id, project_name, start_time, end_time
ArizeAxCurateSpansToDatasetOperatorCurate filtered spans into a dataset.space_id, project_name, dataset_id, where
ArizeAxExportAnnotatedSpansOperatorExport annotated spans to Parquet or JSON.space_id, project_name, start_time, end_time, path, format
ArizeAxAdaptiveSamplingOperatorPick priority spans for evaluation via uncertainty/novelty/anomaly.space_id, project_name, sample_size, strategy

ML

Module: airflow.providers.arize_ax.operators.ml
OperatorPurposeKey params
ArizeAxMLLogBatchOperatorBatch-log ML predictions from DataFrame or CSV.space_id, model_name, model_type, environment, dataframe, schema
ArizeAxMLLogStreamOperatorStream a single ML prediction.space_id, model_name, model_type, environment, log_params
ArizeAxMLExportToDataframeOperatorExport ML data to a DataFrame.space_id, model_name, environment, start_time, end_time, where
ArizeAxMLExportToParquetOperatorExport ML data to a Parquet file.space_id, model_name, environment, start_time, end_time, path

Evaluators

Module: airflow.providers.arize_ax.operators.evaluators (alpha)
OperatorPurposeKey params
ArizeAxListEvaluatorsOperatorList LLM-template evaluators in Eval Hub.space_id, limit, cursor, name_search
ArizeAxCreateEvaluatorOperatorCreate an LLM-template evaluator.space_id, name, evaluator_type, commit_message, template_config, if_exists
ArizeAxGetEvaluatorOperatorFetch an evaluator by ID.evaluator_id
ArizeAxUpdateEvaluatorOperatorUpdate evaluator metadata (name, description).evaluator_id, name, description
ArizeAxDeleteEvaluatorOperatorDelete an evaluator.evaluator_id, ignore_if_missing
ArizeAxAddEvaluatorVersionOperatorAdd a new template version.evaluator_id, commit_message, template_config
ArizeAxListEvaluatorVersionsOperatorList versions of an evaluator.evaluator_id, limit, cursor
ArizeAxGetEvaluatorVersionOperatorFetch a specific version.evaluator_id, version_id

Tasks

Module: airflow.providers.arize_ax.operators.tasks (alpha) Evaluation tasks attach evaluators to a project or dataset and execute on demand or on a schedule.
OperatorPurposeKey params
ArizeAxListTasksOperatorList evaluation tasks (filter by space/project/dataset/type).space_id, project_id, dataset_id, eval_task_type
ArizeAxGetTaskOperatorFetch a task by ID.task_id_param
ArizeAxCreateTaskOperatorCreate a task that attaches evaluators to a project or dataset.name, eval_task_type, evaluators, project_id or dataset_id, sampling_rate, is_continuous
ArizeAxListTaskRunsOperatorList runs for a task.task_id_param, limit, cursor
ArizeAxGetTaskRunOperatorFetch a task run by ID.run_id
ArizeAxTriggerTaskRunOperatorTrigger an on-demand run; override_evaluations=True re-scores existing spans.task_id_param, data_start_time, data_end_time, max_spans, override_evaluations
ArizeAxCancelTaskRunOperatorCancel a pending or running task run.run_id

Prompts

Module: airflow.providers.arize_ax.operators.prompts
OperatorPurposeKey params
ArizeAxListPromptsOperatorList prompts in Prompt Hub.space_id, limit, cursor
ArizeAxGetPromptOperatorFetch a prompt by ID, version ID, or label.prompt_id, version_id, version_label
ArizeAxCreatePromptOperatorCreate a prompt with an initial version.space_id, name, messages or messages_task_id, provider, model, if_exists
ArizeAxDeletePromptOperatorDelete a prompt.prompt_id, ignore_if_missing
ArizeAxPromotePromptOperatorApply a label to a prompt version (e.g. production).prompt_id, version_id, label
ArizeAxComparePromptsOperatorCompare two prompt versions by experiment scores.prompt_id_1, prompt_id_2, experiment_id

Spaces

Module: airflow.providers.arize_ax.operators.spaces
OperatorPurposeKey params
ArizeAxListSpacesOperatorList spaces accessible to the authenticated user.limit, cursor
ArizeAxGetSpaceOperatorFetch a space by ID.space_id
ArizeAxCreateSpaceOperatorCreate a space in an organization.name, organization_id, description
ArizeAxUpdateSpaceOperatorUpdate space name or description.space_id, name, description
ArizeAxDeleteSpaceOperatorDelete a space (alpha).space_id, ignore_if_missing

Annotation configs & queues

Module: airflow.providers.arize_ax.operators.annotations (alpha) For configuring HITL annotation flows. Pair with ArizeAxAnnotationQueueSensor to gate downstream tasks until a minimum number of annotation configs exist in the space.
OperatorPurposeKey params
ArizeAxListAnnotationConfigsOperatorList annotation configurations.space_id, limit, cursor
ArizeAxCreateAnnotationConfigOperatorCreate a config (freeform, category, or numeric).space_id, name, config_type, minimum_score, maximum_score
ArizeAxDeleteAnnotationConfigOperatorDelete a config.annotation_config, space_id
ArizeAxListAnnotationQueuesOperatorList queues.space_id, limit, cursor
ArizeAxGetAnnotationQueueOperatorFetch a queue by ID or name.queue_id or queue_name, space_id
ArizeAxCreateAnnotationQueueOperatorCreate a queue with annotators and configs.space_id, name, description, annotators, configs
ArizeAxUpdateAnnotationQueueOperatorUpdate queue metadata, annotators, or configs.queue_id, name, instructions, configs, annotators
ArizeAxDeleteAnnotationQueueOperatorDelete a queue.queue_id, ignore_if_missing
ArizeAxListAnnotationQueueRecordsOperatorList pending records (max 500/page).queue_id, limit, cursor
ArizeAxAddAnnotationQueueRecordsOperatorAdd record sources to a queue (max 2 sources).queue_id, sources, num_records
ArizeAxAnnotateQueueRecordOperatorSubmit annotations on a record.queue_id, record_id, annotations
ArizeAxAssignQueueRecordOperatorAssign a record to one or more annotators.queue_id, record_id, annotators

API keys

Module: airflow.providers.arize_ax.operators.api_keys
OperatorPurposeKey params
ArizeAxListAPIKeysOperatorList API keys (user or service).limit, cursor
ArizeAxCreateAPIKeyOperatorCreate an API key.key_type, description, organization_id
ArizeAxDeleteAPIKeyOperatorDelete an API key.api_key_id, ignore_if_missing
ArizeAxRefreshAPIKeyOperatorRotate (refresh) an API key.api_key_id

AI integrations

Module: airflow.providers.arize_ax.operators.ai_integrations (alpha) Register external agent platforms (LangGraph, OpenAI Agents, Autogen) so Arize evaluators can run against them.
OperatorPurposeKey params
ArizeAxListAIIntegrationsOperatorList AI integrations.space_id, limit, cursor
ArizeAxGetAIIntegrationOperatorFetch an integration by ID.integration_id
ArizeAxCreateAIIntegrationOperatorCreate an integration.name, provider, space_id, api_key, base_url, model_names, if_exists
ArizeAxUpdateAIIntegrationOperatorUpdate an integration.integration_id, name, provider, api_key
ArizeAxDeleteAIIntegrationOperatorDelete an integration.integration_id, ignore_if_missing

Sensors

Module: airflow.providers.arize_ax.sensors.arize_ax All sensors accept the standard Airflow poke_interval, timeout, mode, and soft_fail.
SensorWaits until…Key params
ArizeAxExperimentCompleteSensorExperiment reaches a terminal state.experiment_id, min_runs
ArizeAxExperimentRunCountSensorExperiment has at least N completed runs.experiment_id, min_runs
ArizeAxEvaluationScoreSensorExperiment metric mean ≥ threshold.experiment_id, metric_name, min_score
ArizeAxDatasetReadySensorDataset has ≥ N examples.dataset_id, min_examples, dataset_version_id
ArizeAxSpanCountSensorProject has ≥ N spans in the window.project_id, min_count, start_time, end_time, filter
ArizeAxSpanIngestionSensorSpan count stops growing rapidly (ingestion stable).project_id, stable_window_seconds
ArizeAxAnnotationQueueSensorAt least N annotation configs exist in the space.space_id, min_count
ArizeAxTaskRunSensorEvaluation task run reaches a terminal state.run_id

Resources

Provider overview

Install, connection setup, design patterns, and example DAG walkthroughs.

Example DAGs

Runnable DAGs covering CI/CD gating, prompt lifecycle, dataset curation, and more.

Python SDK v8

The underlying ArizeClient API the provider wraps.