def load_expectation_suite( data_context: DataContext, expectation_suite_name: str, usage_event: str, suppress_usage_message: Optional[bool] = False, create_if_not_exist: Optional[bool] = True, ) -> Optional[ExpectationSuite]: """ Load an expectation suite from a given context. Handles a suite name with or without `.json` :param data_context: :param expectation_suite_name: :param usage_event: :param suppress_usage_message: :param create_if_not_exist: """ if expectation_suite_name.endswith(".json"): expectation_suite_name = expectation_suite_name[:-5] suite: Optional[ExpectationSuite] try: suite = data_context.get_expectation_suite( expectation_suite_name=expectation_suite_name ) return suite except ge_exceptions.DataContextError: if create_if_not_exist: suite = data_context.create_expectation_suite( expectation_suite_name=expectation_suite_name ) return suite else: suite = None exit_with_failure_message_and_stats( data_context=data_context, usage_event=usage_event, suppress_usage_message=suppress_usage_message, message=f"<red>Could not find a suite named `{expectation_suite_name}`.</red> Please check " "the name by running `great_expectations suite list` and try again.", ) return suite
def load_expectation_suite( # TODO consolidate all the myriad CLI tests into this context: DataContext, suite_name: str, usage_event: str, ) -> ExpectationSuite: """ Load an expectation suite from a given context. Handles a suite name with or without `.json` :param usage_event: """ if suite_name.endswith(".json"): suite_name = suite_name[:-5] try: suite = context.get_expectation_suite(suite_name) return suite except ge_exceptions.DataContextError as e: exit_with_failure_message_and_stats( context, usage_event, f"<red>Could not find a suite named `{suite_name}`.</red> Please check " "the name by running `great_expectations suite list` and try again.", )
from great_expectations.core.batch import BatchRequest from great_expectations.data_context.data_context import DataContext from great_expectations.validator.validation_graph import MetricConfiguration context = DataContext() suite = context.get_expectation_suite("yellow_trip_data_validations") # Get February BatchRequest and Validator batch_request_february = BatchRequest( datasource_name="taxi_pandas", data_connector_name="monthly", data_asset_name="my_reports", data_connector_query={"index": -2}, ) validator_february = context.get_validator( batch_request=batch_request_february, expectation_suite=suite) # Get the table row count for February february_table_row_count = validator_february.get_metric( MetricConfiguration("table.row_count", metric_domain_kwargs={})) # Get March BatchRequest and Validator batch_request_march = BatchRequest( datasource_name="taxi_pandas", data_connector_name="monthly", data_asset_name="my_reports", data_connector_query={"index": -1}, ) validator_march = context.get_validator(batch_request=batch_request_march, expectation_suite=suite)