Registry / workflow / airflow-provider-great-expectations

airflow-provider-great-expectations

JSON →
library1.0.0pypypiunverified

The `airflow-provider-great-expectations` package provides Apache Airflow operators for running Great Expectations (GX) data validations directly in your DAGs. It supports validating in-memory DataFrames, data from external sources using BatchDefinitions, or triggering actions with Checkpoints. The current version is 1.0.0, released in January 2026, and it typically receives new features and maintenance updates periodically.

pip install "airflow-provider-great-expectations<3.14,>3.9"
INSTALL
IMPORT
SIG · AIRFLOW-PROVIDER-G
A
airflow-provider-great-expectations
workflowpythonv1.0.0
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ build_error
4/8 runs
py 3.11
✕ build_error
4/8 runs
py 3.12
✕ build_error
4/8 runs
py 3.13
✕ build_error
4/8 runs
py 3.9
✕ build_error
4/8 runs
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

GXValidateDataFrameOperator
from great_expectations_provider.operators.validate_dataframe import GXValidateDataFrameOperator
from great_expectations_provider.operators.great_expectations import GreatExpectationsOperator
The `GreatExpectationsOperator` is deprecated and replaced by specialized operators in 1.0.0.
GXValidateBatchOperator
from great_expectations_provider.operators.validate_batch import GXValidateBatchOperator
GXValidateCheckpointOperator
from great_expectations_provider.operators.validate_checkpoint import GXValidateCheckpointOperator

This quickstart demonstrates how to use the `GXValidateDataFrameOperator` to validate a Pandas DataFrame in an Airflow DAG. The `configure_dataframe` parameter takes a callable that returns the DataFrame, and `configure_expectations` takes a callable that returns an `ExpectationSuite` (or a single `Expectation`) to apply the validation.

from __future__ import annotations import pendulum from airflow.models.dag import DAG from airflow.operators.python import PythonOperator from great_expectations_provider.operators.validate_dataframe import GXValidateDataFrameOperator import pandas as pd # Import pandas here as per best practice, not top-level if heavy from great_expectations.core import ExpectationSuite, ExpectationConfiguration # For defining expectations def _get_dataframe(): # Simulate loading data into a Pandas DataFrame data = { 'col_a': [1, 2, 3, 4, 5], 'col_b': ['a', 'b', 'c', 'd', 'e'] } return pd.DataFrame(data) def _get_expectations_suite(context): # Define expectations. 'context' is the AbstractDataContext passed by the operator. suite = context.suites.add_or_update(ExpectationSuite(name='my_expectation_suite')) suite.add_expectation(ExpectationConfiguration( expectation_type='expect_column_to_exist', kwargs={'column': 'col_a'} )) suite.add_expectation(ExpectationConfiguration( expectation_type='expect_column_values_to_be_of_type', kwargs={'column': 'col_a', 'type': 'int64'} )) return suite with DAG( dag_id="great_expectations_dataframe_validation_dag", start_date=pendulum.datetime(2023, 1, 1, tz="UTC"), catchup=False, schedule=None, tags=["great_expectations", "data_quality"], ) as dag: validate_dataframe_task = GXValidateDataFrameOperator( task_id="validate_my_dataframe", configure_dataframe=_get_dataframe, configure_expectations=_get_expectations_suite, ) # Example of a downstream task that would run if validation passes success_task = PythonOperator( task_id="data_quality_passed", python_callable=lambda: print("Data quality checks passed!"), ) validate_dataframe_task >> success_task
Debug
Known issues
breakingVersion 1.0.0 (and its alpha releases) introduced new specialized operators (`GXValidateDataFrameOperator`, `GXValidateBatchOperator`, `GXValidateCheckpointOperator`) which replace the legacy `GreatExpectationsOperator`. Existing DAGs using `GreatExpectationsOperator` must be migrated.
fix
Rewrite your DAGs to use the new `GXValidate*` operators, choosing the one most appropriate for your data context and validation needs. Consult the official migration guide.
affects: >=1.0.0a1
breakingAs of version 1.0.0a5, Great Expectations validation failures within the provider's operators will now explicitly raise an AirflowException, causing the DAG task to fail. Previous versions might have allowed the DAG to continue without halting.
fix
Ensure your downstream tasks are prepared for potential failures. Review your DAG's error handling and retry mechanisms. This change makes validation failures more visible and prevents downstream tasks from processing bad data.
affects: >=1.0.0a5
breakingSupport for Python versions prior to 3.8 was dropped in version 0.3.0. Additionally, version 1.0.0+ requires Python 3.10+ (specifically `<3.14, >3.9` as per PyPI metadata).
fix
Upgrade your Python environment to 3.10, 3.11, 3.12, or 3.13 to ensure compatibility with the latest provider versions.
affects: >=0.3.0
gotchaOlder versions of the `airflow-provider-great-expectations` (e.g., pre-0.2.9) were not compatible with `great_expectations` version 1.0.0 and above due to API changes (e.g., removal of `CheckpointResult`). The current provider `1.0.0` requires `great-expectations>=1.7.0`.
fix
Always align your provider version with the recommended `great-expectations` version. For `airflow-provider-great-expectations==1.0.0`, ensure `great-expectations>=1.7.0` is installed. Upgrade both libraries if encountering `ModuleNotFoundError` related to GX components.
affects: <1.0.0
Upgrade
Version history
1.0.0latest on PyPI · released Jan 28, 2026
Audit
Dependencies
apache-airflowrequiredRequired for Airflow DAG orchestration. Version 1.0.0+ of the provider requires Apache Airflow 2.1+.
great-expectationsrequiredThe core data validation framework. Version 1.0.0+ of the provider requires Great Expectations 1.7.0+.
Agent activity
69 hits · last 30 days
node
60
OpenAI (training)
1
Resources