def __init__( self, context_root_dir: Optional[str] = None, runtime_environment: Optional[dict] = None, ge_cloud_mode: bool = False, ge_cloud_base_url: Optional[str] = None, ge_cloud_account_id: Optional[str] = None, ge_cloud_access_token: Optional[str] = None, ge_cloud_organization_id: Optional[str] = None, ) -> None: self._ge_cloud_mode = ge_cloud_mode self._ge_cloud_config = None ge_cloud_config = None if ge_cloud_mode: ge_cloud_config = self.get_ge_cloud_config( ge_cloud_base_url=ge_cloud_base_url, ge_cloud_account_id=ge_cloud_account_id, ge_cloud_access_token=ge_cloud_access_token, ge_cloud_organization_id=ge_cloud_organization_id, ) self._ge_cloud_config = ge_cloud_config # in ge_cloud_mode, if not provided, set context_root_dir to cwd if context_root_dir is None: context_root_dir = os.getcwd() logger.info( f'context_root_dir was not provided - defaulting to current working directory "' f'{context_root_dir}".') else: # Determine the "context root directory" - this is the parent of "great_expectations" dir context_root_dir = (self.find_context_root_dir() if context_root_dir is None else context_root_dir) context_root_directory = os.path.abspath( os.path.expanduser(context_root_dir)) self._context_root_directory = context_root_directory project_config = self._load_project_config() super().__init__( project_config, context_root_directory, runtime_environment, ge_cloud_mode=ge_cloud_mode, ge_cloud_config=ge_cloud_config, ) # save project config if data_context_id auto-generated or global config values applied project_config_dict = dataContextConfigSchema.dump(project_config) if (project_config.anonymous_usage_statistics.explicit_id is False or project_config_dict != dataContextConfigSchema.dump( self.config)): self._save_project_config()
def get_config(self, mode="typed"): config = super().get_config() if mode == "typed": return config elif mode == "commented_map": return config.commented_map elif mode == "dict": return dict(config.commented_map) elif mode == "yaml": commented_map = copy.deepcopy(config.commented_map) commented_map.update(dataContextConfigSchema.dump(config)) stream = StringIO() yaml.dump(commented_map, stream) yaml_string = stream.getvalue() # print(commented_map) # print(commented_map.__dict__) # print(str(commented_map)) return yaml_string # config.commented_map.update(dataContextConfigSchema.dump(self)) else: raise ValueError(f"Unknown config mode {mode}")
def test_in_memory_data_context_configuration( titanic_pandas_data_context_with_v013_datasource_with_checkpoints_v1_with_empty_store_stats_enabled, ): project_config_dict: dict = titanic_pandas_data_context_with_v013_datasource_with_checkpoints_v1_with_empty_store_stats_enabled.get_config( mode=ConfigOutputModes.DICT) project_config_dict["plugins_directory"] = None project_config_dict["validation_operators"] = { "action_list_operator": { "class_name": "ActionListValidationOperator", "action_list": [ { "name": "store_validation_result", "action": { "class_name": "StoreValidationResultAction" }, }, { "name": "store_evaluation_params", "action": { "class_name": "StoreEvaluationParametersAction" }, }, { "name": "update_data_docs", "action": { "class_name": "UpdateDataDocsAction" }, }, ], } } # Roundtrip through schema validation to remove any illegal fields add/or restore any missing fields. project_config_dict = dataContextConfigSchema.dump(project_config_dict) project_config_dict = dataContextConfigSchema.load(project_config_dict) project_config: DataContextConfig = DataContextConfig( **project_config_dict) data_context = BaseDataContext( project_config=project_config, context_root_dir= titanic_pandas_data_context_with_v013_datasource_with_checkpoints_v1_with_empty_store_stats_enabled .root_directory, ) my_validator: Validator = data_context.get_validator( datasource_name="my_datasource", data_connector_name="my_basic_data_connector", data_asset_name="Titanic_1912", create_expectation_suite_with_name="my_test_titanic_expectation_suite", ) assert my_validator.expect_table_row_count_to_equal(1313)["success"] assert my_validator.expect_table_column_count_to_equal(7)["success"]