Spaces:
Sleeping
Sleeping
| import json | |
| import great_expectations as gx | |
| from loguru import logger | |
| def set_gx(source_name, asset_name, suite_name): | |
| context = gx.get_context() | |
| data_source = context.data_sources.add_pandas(name=source_name) | |
| data_asset = data_source.add_dataframe_asset(name=asset_name) | |
| batch_definition = data_asset.add_batch_definition_whole_dataframe("batch_definition") | |
| suite = context.suites.add( | |
| gx.core.expectation_suite.ExpectationSuite( | |
| name=suite_name, | |
| ) | |
| ) | |
| return context, suite, batch_definition | |
| def show_results(checkpoint_result): | |
| result = json.loads(checkpoint_result.describe()) | |
| for i, v in enumerate(result.get("validation_results", []), 1): | |
| logger.info(f"Validation {i}, {v['success']}") | |
| for e in v.get("expectations", []): | |
| name = e["expectation_type"] | |
| kwargs = e.get("kwargs", {}) | |
| col = kwargs.get("column") | |
| success = e["success"] | |
| logger.info(f"{col}: {name} -> {success}") | |
| if not success: | |
| logger.warning(kwargs) | |
| logger.warning(e.get("result")) | |
| if result.get("success"): | |
| logger.success(f"Overall success: {result.get('success')}") | |
| else: | |
| logger.error(f"Overall success: {result.get('success')}") | |