dcs-sdk 1.7.2__tar.gz → 1.7.4__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.
Files changed (161) hide show
  1. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/PKG-INFO +2 -2
  2. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/README.md +1 -1
  3. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/__version__.py +1 -1
  4. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/data_diff/data_differ.py +4 -4
  5. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/utils.py +24 -12
  6. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/pyproject.toml +1 -1
  7. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/__init__.py +0 -0
  8. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/__main__.py +0 -0
  9. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/abcs/__init__.py +0 -0
  10. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/abcs/compiler.py +0 -0
  11. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/abcs/database_types.py +0 -0
  12. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/config.py +0 -0
  13. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/__init__.py +0 -0
  14. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/_connect.py +0 -0
  15. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/base.py +0 -0
  16. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/bigquery.py +0 -0
  17. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/clickhouse.py +0 -0
  18. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/databricks.py +0 -0
  19. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/duckdb.py +0 -0
  20. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/mssql.py +0 -0
  21. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/mysql.py +0 -0
  22. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/oracle.py +0 -0
  23. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/postgresql.py +0 -0
  24. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/presto.py +0 -0
  25. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/redis.py +0 -0
  26. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/redshift.py +0 -0
  27. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/snowflake.py +0 -0
  28. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/sybase.py +0 -0
  29. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/trino.py +0 -0
  30. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/databases/vertica.py +0 -0
  31. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/diff_tables.py +0 -0
  32. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/errors.py +0 -0
  33. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/format.py +0 -0
  34. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/hashdiff_tables.py +0 -0
  35. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/info_tree.py +0 -0
  36. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/joindiff_tables.py +0 -0
  37. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/lexicographic_space.py +0 -0
  38. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/parse_time.py +0 -0
  39. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/py.typed +0 -0
  40. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/queries/__init__.py +0 -0
  41. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/queries/api.py +0 -0
  42. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/queries/ast_classes.py +0 -0
  43. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/queries/base.py +0 -0
  44. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/queries/extras.py +0 -0
  45. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/query_utils.py +0 -0
  46. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/schema.py +0 -0
  47. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/table_segment.py +0 -0
  48. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/thread_utils.py +0 -0
  49. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/utils.py +0 -0
  50. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/data_diff/version.py +0 -0
  51. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/__init__.py +0 -0
  52. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/__main__.py +0 -0
  53. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/__version__.py +0 -0
  54. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/cli/__init__.py +0 -0
  55. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/cli/cli.py +0 -0
  56. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/__init__.py +0 -0
  57. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/__init__.py +0 -0
  58. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/errors.py +0 -0
  59. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/models/__init__.py +0 -0
  60. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/models/configuration.py +0 -0
  61. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/models/dashboard.py +0 -0
  62. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/models/data_source_resource.py +0 -0
  63. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/models/metric.py +0 -0
  64. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/models/profile.py +0 -0
  65. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/models/validation.py +0 -0
  66. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/common/models/widget.py +0 -0
  67. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/configuration/__init__.py +0 -0
  68. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/configuration/config_loader.py +0 -0
  69. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/configuration/configuration_parser.py +0 -0
  70. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/configuration/configuration_parser_arc.py +0 -0
  71. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/datasource/__init__.py +0 -0
  72. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/datasource/base.py +0 -0
  73. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/datasource/file_datasource.py +0 -0
  74. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/datasource/manager.py +0 -0
  75. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/datasource/search_datasource.py +0 -0
  76. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/datasource/sql_datasource.py +0 -0
  77. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/inspect.py +0 -0
  78. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/logger/__init__.py +0 -0
  79. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/logger/base.py +0 -0
  80. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/logger/default_logger.py +0 -0
  81. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/metric/__init__.py +0 -0
  82. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/metric/base.py +0 -0
  83. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/metric/combined_metric.py +0 -0
  84. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/metric/custom_metric.py +0 -0
  85. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/metric/manager.py +0 -0
  86. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/metric/numeric_metric.py +0 -0
  87. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/metric/reliability_metric.py +0 -0
  88. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/profiling/__init__.py +0 -0
  89. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/profiling/datasource_profiling.py +0 -0
  90. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/profiling/numeric_field_profiling.py +0 -0
  91. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/profiling/text_field_profiling.py +0 -0
  92. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/repository/__init__.py +0 -0
  93. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/repository/metric_repository.py +0 -0
  94. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/utils/__init__.py +0 -0
  95. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/utils/log.py +0 -0
  96. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/utils/tracking.py +0 -0
  97. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/utils/utils.py +0 -0
  98. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/__init__.py +0 -0
  99. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/base.py +0 -0
  100. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/completeness_validation.py +0 -0
  101. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/custom_query_validation.py +0 -0
  102. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/manager.py +0 -0
  103. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/numeric_validation.py +0 -0
  104. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/reliability_validation.py +0 -0
  105. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/uniqueness_validation.py +0 -0
  106. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/core/validation/validity_validation.py +0 -0
  107. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/__init__.py +0 -0
  108. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/__init__.py +0 -0
  109. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/azure_blob.py +0 -0
  110. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/bigquery.py +0 -0
  111. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/databricks.py +0 -0
  112. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/db2.py +0 -0
  113. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/duck_db.py +0 -0
  114. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/elasticsearch.py +0 -0
  115. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/mssql.py +0 -0
  116. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/mysql.py +0 -0
  117. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/opensearch.py +0 -0
  118. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/oracle.py +0 -0
  119. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/postgres.py +0 -0
  120. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/redshift.py +0 -0
  121. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/snowflake.py +0 -0
  122. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/spark_df.py +0 -0
  123. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/databases/sybase.py +0 -0
  124. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/storage/__init__.py +0 -0
  125. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/storage/local_file.py +0 -0
  126. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/utils/__init__.py +0 -0
  127. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/integrations/utils/utils.py +0 -0
  128. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/__init__.py +0 -0
  129. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/dashboard.py +0 -0
  130. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/models.py +0 -0
  131. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/assets/fonts/DMSans-Bold.ttf +0 -0
  132. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/assets/fonts/DMSans-Medium.ttf +0 -0
  133. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/assets/fonts/DMSans-Regular.ttf +0 -0
  134. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/assets/fonts/DMSans-SemiBold.ttf +0 -0
  135. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/assets/images/docs.svg +0 -0
  136. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/assets/images/github.svg +0 -0
  137. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/assets/images/logo.svg +0 -0
  138. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/assets/images/slack.svg +0 -0
  139. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/index.js +0 -0
  140. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_core/report/static/index.js.LICENSE.txt +0 -0
  141. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/__init__.py +0 -0
  142. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/__main__.py +0 -0
  143. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/cli/__init__.py +0 -0
  144. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/cli/cli.py +0 -0
  145. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/__init__.py +0 -0
  146. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/config/__init__.py +0 -0
  147. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/config/config_loader.py +0 -0
  148. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/data_diff/__init__.py +0 -0
  149. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/rules/__init__.py +0 -0
  150. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/rules/rules_mappping.py +0 -0
  151. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/rules/rules_repository.py +0 -0
  152. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/rules/schema_rules.py +0 -0
  153. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/__init__.py +0 -0
  154. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/serializer.py +0 -0
  155. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/similarity_score/__init__.py +0 -0
  156. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/similarity_score/base_provider.py +0 -0
  157. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/similarity_score/cosine_similarity_provider.py +0 -0
  158. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/similarity_score/jaccard_provider.py +0 -0
  159. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/similarity_score/levenshtein_distance_provider.py +0 -0
  160. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/table.py +0 -0
  161. {dcs_sdk-1.7.2 → dcs_sdk-1.7.4}/dcs_sdk/sdk/utils/themes.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dcs-sdk
3
- Version: 1.7.2
3
+ Version: 1.7.4
4
4
  Summary: SDK for DataChecks
5
5
  Author: Waterdip Labs
6
6
  Author-email: hello@waterdip.ai
@@ -86,7 +86,7 @@ Requires-Dist: vertica-python (>=1.4.0) ; extra == "vertica" or extra == "all-db
86
86
  Description-Content-Type: text/markdown
87
87
 
88
88
  <h1 align="center">
89
- DCS SDK v1.7.2
89
+ DCS SDK v1.7.4
90
90
  </h1>
91
91
 
92
92
  > SDK for DataChecks
@@ -1,5 +1,5 @@
1
1
  <h1 align="center">
2
- DCS SDK v1.7.2
2
+ DCS SDK v1.7.4
3
3
  </h1>
4
4
 
5
5
  > SDK for DataChecks
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- __version__ = "1.7.2"
15
+ __version__ = "1.7.4"
@@ -738,10 +738,10 @@ class DBTableDiffer:
738
738
 
739
739
  self.response.update({"column_transforms": column_transforms})
740
740
  self.response.update({"schema_overrides": schema_overrides})
741
- self.config.source.table = self.original_source_table_name
742
- self.config.target.table = self.original_target_table_name
743
- self.response["source_dataset"]["table_name"] = self.original_source_table_name
744
- self.response["target_dataset"]["table_name"] = self.original_target_table_name
741
+ self.config.source.table = self.original_source_table_name or self.config.source.table
742
+ self.config.target.table = self.original_target_table_name or self.config.target.table
743
+ self.response["source_dataset"]["table_name"] = self.original_source_table_name or self.config.source.table
744
+ self.response["target_dataset"]["table_name"] = self.original_target_table_name or self.config.target.table
745
745
  return self.response
746
746
  except Exception as e:
747
747
  logger.exception(f"Error during diff_tables: {e}")
@@ -439,27 +439,39 @@ def apply_custom_masking(
439
439
 
440
440
  # common masking columns
441
441
  for col in common_masking_cols:
442
- src_val = str(source.get(col, ""))
443
- tgt_val = str(target.get(col, ""))
442
+ src_val = source.get(col)
443
+ tgt_val = target.get(col)
444
444
 
445
- src_len, tgt_len = len(src_val), len(tgt_val)
446
- if src_len == tgt_len and src_val != tgt_val:
447
- masked_source[col] = mask_char * (src_len + 1)
448
- masked_target[col] = mask_char * tgt_len
445
+ if src_val is None and tgt_val is None:
446
+ continue
447
+
448
+ src_str = str(src_val) if src_val is not None else ""
449
+ tgt_str = str(tgt_val) if tgt_val is not None else ""
450
+
451
+ src_len, tgt_len = len(src_str), len(tgt_str)
452
+ if src_len == tgt_len and src_str != tgt_str:
453
+ if src_val is not None:
454
+ masked_source[col] = mask_char * (src_len + 1)
455
+ if tgt_val is not None:
456
+ masked_target[col] = mask_char * tgt_len
449
457
  else:
450
- masked_source[col] = mask_char * src_len
451
- masked_target[col] = mask_char * tgt_len
458
+ if src_val is not None:
459
+ masked_source[col] = mask_char * src_len
460
+ if tgt_val is not None:
461
+ masked_target[col] = mask_char * tgt_len
452
462
 
453
463
  # Non-common columns
454
464
  for col in source_masking_cols:
455
465
  if col not in common_masking_cols:
456
- val = source.get(col, "")
457
- masked_source[col] = mask_char * len(val)
466
+ val = source.get(col)
467
+ if val is not None:
468
+ masked_source[col] = mask_char * len(str(val))
458
469
 
459
470
  for col in target_masking_cols:
460
471
  if col not in common_masking_cols:
461
- val = target.get(col, "")
462
- masked_target[col] = mask_char * len(val)
472
+ val = target.get(col)
473
+ if val is not None:
474
+ masked_target[col] = mask_char * len(str(val))
463
475
 
464
476
  return masked_source, masked_target
465
477
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dcs-sdk"
3
- version = "1.7.2"
3
+ version = "1.7.4"
4
4
  description = "SDK for DataChecks"
5
5
  authors = ["Waterdip Labs <hello@waterdip.ai>"]
6
6
  readme = "README.md"
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