google-pso-data-validator 8.7.0__tar.gz → 8.7.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {google_pso_data_validator-8.7.0/google_pso_data_validator.egg-info → google_pso_data_validator-8.7.1}/PKG-INFO +1 -1
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/__main__.py +2 -3
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/app.py +12 -14
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/consts.py +3 -1
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1/google_pso_data_validator.egg-info}/PKG-INFO +1 -1
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/setup.py +1 -1
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/LICENSE +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/README.md +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/cli_tools.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/client_info.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/clients.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/combiner.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/config_manager.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/data_validation.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/exceptions.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/find_tables.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/gcs_helper.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/jellyfish_distance.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/metadata.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/partition_builder.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/query_builder/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/query_builder/partition_row_builder.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/query_builder/query_builder.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/query_builder/random_row_builder.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/raw_query.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/result_handlers/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/result_handlers/base_backend.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/result_handlers/bigquery.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/result_handlers/factory.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/result_handlers/postgres.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/result_handlers/text.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/schema_validation.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/secret_manager.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/state_manager.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/util.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/validation_builder.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/google_pso_data_validator.egg-info/SOURCES.txt +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/google_pso_data_validator.egg-info/dependency_links.txt +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/google_pso_data_validator.egg-info/entry_points.txt +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/google_pso_data_validator.egg-info/requires.txt +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/google_pso_data_validator.egg-info/top_level.txt +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/setup.cfg +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_addon/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_addon/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_addon/operations.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_bigquery/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_bigquery/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_bigquery/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/client.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/compiler.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/datatypes.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/tests/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/tests/conftest.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_cloud_spanner/to_pandas.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2/compiler.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2/datatypes.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2_zos/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2_zos/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2_zos/compiler.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2_zos/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_impala/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_impala/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_impala/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_mssql/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_mssql/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_mssql/datatypes.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_mssql/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_mysql/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_mysql/base_sql_compiler/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_mysql/base_sql_compiler/select_builder.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_mysql/compiler.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_oracle/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_oracle/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_oracle/compiler.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_oracle/datatypes.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_oracle/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_postgres/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_postgres/client.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_postgres/datatypes.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_postgres/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_redshift/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_redshift/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_redshift/compiler.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_snowflake/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_snowflake/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_snowflake/datatypes.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_sybase/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_sybase/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_sybase/compiler.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_sybase/datatypes.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_sybase/registry.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_teradata/__init__.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_teradata/api.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_teradata/compiler.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_teradata/datatypes.py +0 -0
- {google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_teradata/registry.py +0 -0
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/__main__.py
RENAMED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
import copy
|
|
15
16
|
import json
|
|
16
17
|
import logging
|
|
17
18
|
import os
|
|
@@ -489,9 +490,7 @@ def convert_config_to_json(config_managers: list) -> dict:
|
|
|
489
490
|
"JSON configs can only be created for single table validations."
|
|
490
491
|
)
|
|
491
492
|
config_manager = config_managers[0]
|
|
492
|
-
json_config = config_manager.config
|
|
493
|
-
json_config[consts.CONFIG_SOURCE_CONN] = config_manager.get_source_connection()
|
|
494
|
-
json_config[consts.CONFIG_TARGET_CONN] = config_manager.get_target_connection()
|
|
493
|
+
json_config = copy.deepcopy(config_manager.config)
|
|
495
494
|
return json_config
|
|
496
495
|
|
|
497
496
|
|
|
@@ -12,24 +12,16 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
import
|
|
15
|
+
import logging
|
|
16
16
|
import os
|
|
17
17
|
from data_validation import data_validation
|
|
18
18
|
import flask
|
|
19
|
-
import pandas
|
|
20
|
-
import logging
|
|
21
19
|
|
|
22
20
|
app = flask.Flask(__name__)
|
|
23
21
|
|
|
24
22
|
|
|
25
23
|
def _clean_dataframe(df):
|
|
26
|
-
|
|
27
|
-
for row in rows:
|
|
28
|
-
for key in row:
|
|
29
|
-
if type(row[key]) in [pandas.Timestamp]:
|
|
30
|
-
row[key] = str(row[key])
|
|
31
|
-
|
|
32
|
-
return json.dumps(rows)
|
|
24
|
+
return df.to_json(orient="records", date_format="iso")
|
|
33
25
|
|
|
34
26
|
|
|
35
27
|
def _get_request_content(request):
|
|
@@ -58,13 +50,19 @@ def main(request):
|
|
|
58
50
|
|
|
59
51
|
@app.route("/", methods=["POST"])
|
|
60
52
|
def run():
|
|
53
|
+
"""Handle incoming Data Validation requests.
|
|
54
|
+
|
|
55
|
+
request (flask.Request): HTTP request object.
|
|
56
|
+
"""
|
|
61
57
|
try:
|
|
62
58
|
config = _get_request_content(flask.request)
|
|
63
59
|
result = validate(config)
|
|
64
|
-
return
|
|
65
|
-
except Exception
|
|
66
|
-
logging.exception(
|
|
67
|
-
return
|
|
60
|
+
return flask.Response(result, mimetype="application/json")
|
|
61
|
+
except Exception:
|
|
62
|
+
logging.exception("An error occurred during validation")
|
|
63
|
+
return flask.Response(
|
|
64
|
+
"An internal server error occurred.", status=500, mimetype="text/plain"
|
|
65
|
+
)
|
|
68
66
|
|
|
69
67
|
|
|
70
68
|
@app.route("/test", methods=["POST"])
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/consts.py
RENAMED
|
@@ -146,9 +146,11 @@ SOURCE_TYPE_TERADATA = "Teradata"
|
|
|
146
146
|
# BigQuery Result Handler Configs
|
|
147
147
|
RH_TYPE = "type"
|
|
148
148
|
RH_CONN = "connection"
|
|
149
|
-
PROJECT_ID = "project_id"
|
|
150
149
|
TABLE_ID = "table_id"
|
|
151
150
|
GOOGLE_SERVICE_ACCOUNT_KEY_PATH = "google_service_account_key_path"
|
|
151
|
+
|
|
152
|
+
# BigQuery connection attributes
|
|
153
|
+
PROJECT_ID = "project_id"
|
|
152
154
|
API_ENDPOINT = "api_endpoint"
|
|
153
155
|
STORAGE_API_ENDPOINT = "storage_api_endpoint"
|
|
154
156
|
CLIENT_PROJECT_ID = "client_project_id"
|
|
File without changes
|
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/__init__.py
RENAMED
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/cli_tools.py
RENAMED
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/client_info.py
RENAMED
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/clients.py
RENAMED
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/combiner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/exceptions.py
RENAMED
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/find_tables.py
RENAMED
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/gcs_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/metadata.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/raw_query.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/data_validation/state_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{google_pso_data_validator-8.7.0 → google_pso_data_validator-8.7.1}/third_party/ibis/ibis_db2/api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|