def render(self, **kwargs: dict) -> nbformat.NotebookNode: """ Render a notebook dict from an expectation suite. """ # noinspection PyTypeChecker suite: ExpectationSuite = kwargs.get("suite") batch_request: Optional[Union[str, Dict[str, Any]]] = kwargs.get("batch_request") if not isinstance(suite, ExpectationSuite): raise RuntimeWarning("render must be given an ExpectationSuite.") self._notebook = nbformat.v4.new_notebook() suite_name: str = suite.expectation_suite_name if (batch_request and isinstance(batch_request, dict) and BatchRequest(**batch_request)): batch_request = standardize_batch_request_display_ordering( batch_request=batch_request) else: batch_request = None self.add_header(suite_name=suite_name, batch_request=batch_request) self.add_authoring_intro(batch_request=batch_request) self.add_expectation_cells_from_suite(expectations=suite.expectations, batch_request=batch_request) self.add_footer(batch_request=batch_request) return self._notebook
def __init__( self, context: DataContext, expectation_suite_name: str, profiler_name: str, batch_request: Union[str, Dict[str, Union[str, int, Dict[str, Any]]]], ) -> None: super().__init__(context=context) if batch_request is None: batch_request = {} deep_filter_properties_iterable( properties=batch_request, inplace=True, ) batch_request = standardize_batch_request_display_ordering( batch_request=batch_request ) self._batch_request = batch_request self._validator = context.get_validator( batch_request=BatchRequest(**batch_request), expectation_suite_name=expectation_suite_name, ) self._profiler_name = profiler_name self._expectation_suite_name = self._validator.expectation_suite_name
def anonymize(self, obj: Optional[object] = None, **kwargs) -> Any: anonymized_batch_request_properties_dict: Optional[Dict[ str, List[str]]] = None # noinspection PyBroadException try: from great_expectations.core.batch import ( BatchRequest, get_batch_request_from_acceptable_arguments, standardize_batch_request_display_ordering, ) batch_request: BatchRequest = get_batch_request_from_acceptable_arguments( **kwargs) batch_request_dict: dict = batch_request.to_json_dict() anonymized_batch_request_dict: Optional[Union[ str, dict]] = self._anonymize_batch_request_properties( source=batch_request_dict) anonymized_batch_request_dict = standardize_batch_request_display_ordering( batch_request=anonymized_batch_request_dict) deep_filter_properties_iterable( properties=anonymized_batch_request_dict, clean_falsy=True, inplace=True, ) anonymized_batch_request_required_top_level_properties: dict = {} batch_request_optional_top_level_keys: List[str] = [] batch_spec_passthrough_keys: List[str] = [] data_connector_query_keys: List[str] = [] runtime_parameters_keys: List[str] = [] anonymized_batch_request_properties_dict = { "anonymized_batch_request_required_top_level_properties": (anonymized_batch_request_required_top_level_properties), "batch_request_optional_top_level_keys": batch_request_optional_top_level_keys, "batch_spec_passthrough_keys": batch_spec_passthrough_keys, "runtime_parameters_keys": runtime_parameters_keys, "data_connector_query_keys": data_connector_query_keys, } self._build_anonymized_batch_request( destination=anonymized_batch_request_properties_dict, source=anonymized_batch_request_dict, ) deep_filter_properties_iterable( properties=anonymized_batch_request_properties_dict, clean_falsy=True, inplace=True, ) batch_request_optional_top_level_keys.sort() batch_spec_passthrough_keys.sort() data_connector_query_keys.sort() runtime_parameters_keys.sort() except Exception: logger.debug( "anonymize_batch_request: Unable to create anonymized_batch_request payload field" ) return anonymized_batch_request_properties_dict