dcs-sdk 1.7.1__py3-none-any.whl → 1.7.2__py3-none-any.whl

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.
@@ -12,21 +12,15 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- import os
16
- import uuid
17
- from pathlib import Path
18
15
  from typing import Any, Dict, Optional
19
16
 
20
- import duckdb
21
17
  from azure.storage.blob import BlobServiceClient
22
18
  from loguru import logger
23
19
 
24
20
  from dcs_core.core.common.errors import (
25
- DatachecksColumnFetchError,
26
21
  DataChecksDataSourcesConnectionError,
27
22
  DatachecksTableFetchError,
28
23
  )
29
- from dcs_core.core.common.models.data_source_resource import RawColumnInfo
30
24
  from dcs_core.core.datasource.file_datasource import FileDataSource
31
25
 
32
26
 
@@ -167,8 +167,6 @@ class MssqlDataSource(SQLDataSource):
167
167
  :return: Dictionary with index details
168
168
  """
169
169
  schema = schema or self.schema_name
170
- table = table.upper()
171
- schema = schema.upper()
172
170
 
173
171
  query = f"""
174
172
  SELECT
@@ -673,8 +671,6 @@ class MssqlDataSource(SQLDataSource):
673
671
 
674
672
  quoted_name = self.quote_column(name)
675
673
 
676
- query_parts.append(f"COUNT(DISTINCT {quoted_name}) AS [{name}_distinct]")
677
- query_parts.append(f"COUNT({quoted_name}) - COUNT(DISTINCT {quoted_name}) AS [{name}_duplicate]")
678
674
  query_parts.append(f"SUM(CASE WHEN {quoted_name} IS NULL THEN 1 ELSE 0 END) AS [{name}_is_null]")
679
675
 
680
676
  if dtype in (
@@ -690,13 +686,20 @@ class MssqlDataSource(SQLDataSource):
690
686
  "money",
691
687
  "smallmoney",
692
688
  ):
689
+ query_parts.append(f"COUNT({quoted_name}) - COUNT(DISTINCT {quoted_name}) AS [{name}_duplicate]")
693
690
  query_parts.append(f"MIN({quoted_name}) AS [{name}_min]")
694
691
  query_parts.append(f"MAX({quoted_name}) AS [{name}_max]")
695
692
  query_parts.append(f"AVG(CAST({quoted_name} AS FLOAT)) AS [{name}_average]")
693
+ query_parts.append(f"COUNT(DISTINCT {quoted_name}) AS [{name}_distinct]")
696
694
 
697
- elif dtype in ("varchar", "nvarchar", "char", "nchar", "text", "ntext"):
695
+ elif dtype in ("varchar", "nvarchar", "char", "nchar"):
698
696
  query_parts.append(f"MAX(LEN({quoted_name})) AS [{name}_max_character_length]")
699
697
 
698
+ elif dtype in ("text", "ntext", "xml"):
699
+ query_parts.append(
700
+ f"MAX(LEN(CAST({quoted_name} AS NVARCHAR(MAX)))) " f"AS [{name}_max_character_length]"
701
+ )
702
+
700
703
  if additional_queries:
701
704
  query_parts.extend(additional_queries)
702
705
 
@@ -143,8 +143,6 @@ class OracleDataSource(SQLDataSource):
143
143
  :return: Dictionary with index details
144
144
  """
145
145
  schema = schema or self.schema_name
146
- table = table.upper()
147
- schema = schema.upper()
148
146
 
149
147
  query = f"""
150
148
  SELECT
@@ -696,8 +694,8 @@ class OracleDataSource(SQLDataSource):
696
694
  AND r_ac.OWNER = r_acc.OWNER
697
695
  AND acc.POSITION = r_acc.POSITION
698
696
  WHERE ac.CONSTRAINT_TYPE = 'R'
699
- AND ac.TABLE_NAME = '{table_name.upper()}'
700
- AND ac.OWNER = '{schema.upper()}';
697
+ AND ac.TABLE_NAME = '{table_name}'
698
+ AND ac.OWNER = '{schema}';
701
699
  """
702
700
 
703
701
  try:
@@ -136,8 +136,6 @@ class PostgresDataSource(SQLDataSource):
136
136
  :return: Dictionary with index details
137
137
  """
138
138
  schema = schema or self.schema_name
139
- table = table.lower()
140
- schema = schema.lower()
141
139
 
142
140
  query = f"""
143
141
  SELECT
dcs_sdk/__version__.py CHANGED
@@ -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.1"
15
+ __version__ = "1.7.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dcs-sdk
3
- Version: 1.7.1
3
+ Version: 1.7.2
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.1
89
+ DCS SDK v1.7.2
90
90
  </h1>
91
91
 
92
92
  > SDK for DataChecks
@@ -100,17 +100,17 @@ dcs_core/core/validation/uniqueness_validation.py,sha256=a6zm0_omiULKbQcDit8J913
100
100
  dcs_core/core/validation/validity_validation.py,sha256=358oAGH112oVxyPhDnfT-ypVaMAkpZ8pM73qogtdh9w,35297
101
101
  dcs_core/integrations/__init__.py,sha256=RkfhRKLXEForLCs4rZkTf0qc_b0TokSggSAcKI4yfZg,610
102
102
  dcs_core/integrations/databases/__init__.py,sha256=RkfhRKLXEForLCs4rZkTf0qc_b0TokSggSAcKI4yfZg,610
103
- dcs_core/integrations/databases/azure_blob.py,sha256=Pzm7ygZVe5DnpuggpAbWGA-kICJ2reMaefR5I9nGyeo,4399
103
+ dcs_core/integrations/databases/azure_blob.py,sha256=XF-B790XA1sGyhgIWUPE-BRHR_-ctA31IjI66pNL6eM,4231
104
104
  dcs_core/integrations/databases/bigquery.py,sha256=26RuypLMmiARZIWkV_mxtnNL2yCs94YWerSGH5Nr10Q,7337
105
105
  dcs_core/integrations/databases/databricks.py,sha256=n4fm5m_mtRCdtjLGDvbNW18u7Ev234vDBjq_lxuOxns,1978
106
106
  dcs_core/integrations/databases/db2.py,sha256=hNGivvYCitp88ouZlCxp7iRQ-vnPiK1kL8x85NyGotk,26492
107
107
  dcs_core/integrations/databases/duck_db.py,sha256=X4FRSsobOFCIi329cYofQsMd_fkRI4KxC8BIrtiDz4g,5531
108
108
  dcs_core/integrations/databases/elasticsearch.py,sha256=6CTGs1WGrfgdDRNVt9DpOB0_z_znT6YoVj10E1WY-wQ,2152
109
- dcs_core/integrations/databases/mssql.py,sha256=g0MmoG8-xFphJ2oZl-q_OZ2oT6yz-lVY09JTIvIx4-0,38910
109
+ dcs_core/integrations/databases/mssql.py,sha256=9yBWwXLZeRUZtReVGE42ku4bTOGvTmy2jRYl1t9afak,39053
110
110
  dcs_core/integrations/databases/mysql.py,sha256=mUFLIGdbF_ktIlA19P7kq7holp5ZkRezGgN6TL_uiJ4,15815
111
111
  dcs_core/integrations/databases/opensearch.py,sha256=XeDaHRLLym3wFeA_N6RzQEHmQCI3DjD8A86Y9UKwFEM,2190
112
- dcs_core/integrations/databases/oracle.py,sha256=7g8Vs958tDx1v2CWFulCvuje0cLxWgU5-PVJTc1IluE,29194
113
- dcs_core/integrations/databases/postgres.py,sha256=clT1fEIVCx3fcrare16rvBe_3TYWXn6wWwPc0Y-k9Ag,21326
112
+ dcs_core/integrations/databases/oracle.py,sha256=IIUeoBlwFtu6XYJh9Pr5bqZz_YQJJN6SE74HRC8zGxs,29116
113
+ dcs_core/integrations/databases/postgres.py,sha256=j3za4dcOkoG0HhwNo4C2Ack2DfpphUfFKponPR69zqY,21264
114
114
  dcs_core/integrations/databases/redshift.py,sha256=R9eYxpD1Ve3ChZb-gyClJ6suSljG53O6Wez2GzUW0k0,2043
115
115
  dcs_core/integrations/databases/snowflake.py,sha256=NI6sgL9iakyCbIxtj0DiqeOpF5F9ybuhtG_IwvT86Ws,1942
116
116
  dcs_core/integrations/databases/spark_df.py,sha256=pO9hSENLdrRaPvPa66yCrKS2iv5JWJBsU9XB13BBasY,3659
@@ -134,7 +134,7 @@ dcs_core/report/static/index.js,sha256=p4wvku-zlXi0y4gWeSzV1amY0s4mjtUq2QsezARLV
134
134
  dcs_core/report/static/index.js.LICENSE.txt,sha256=bBDZBJVEDrqjCi7sfoF8CchjFn3hdcbNkP7ub7kbcXQ,201041
135
135
  dcs_sdk/__init__.py,sha256=RkfhRKLXEForLCs4rZkTf0qc_b0TokSggSAcKI4yfZg,610
136
136
  dcs_sdk/__main__.py,sha256=Qn8stIaQGrdLjHQ-H7xO0T-brtq5RWZoWU9QvqoarV8,683
137
- dcs_sdk/__version__.py,sha256=QCNpj_HNk0BPKbYaFGZRdWUw410tRn837AoNnQ040wI,633
137
+ dcs_sdk/__version__.py,sha256=lY21yR6SjBLmx4p_ke5vm0njUHCIUOS4nF7jJjG9wD0,633
138
138
  dcs_sdk/cli/__init__.py,sha256=RkfhRKLXEForLCs4rZkTf0qc_b0TokSggSAcKI4yfZg,610
139
139
  dcs_sdk/cli/cli.py,sha256=jaO52UrMWLafcF_yhqllPkmYSTuO2sksFi30fYFdAB4,4406
140
140
  dcs_sdk/sdk/__init__.py,sha256=skrZcgWWJBL6NXTUERywJ3qRJRemgpDXyW7lPg1FJk8,2107
@@ -156,7 +156,7 @@ dcs_sdk/sdk/utils/similarity_score/levenshtein_distance_provider.py,sha256=puAWP
156
156
  dcs_sdk/sdk/utils/table.py,sha256=X8HxdYTWyx_oVrBWPsXlmA-xJKXXDBW9RrhlWNqA1As,18224
157
157
  dcs_sdk/sdk/utils/themes.py,sha256=Meo2Yldv4uyPpEqI7qdA28Aa6sxtwUU1dLKKm4QavjM,1403
158
158
  dcs_sdk/sdk/utils/utils.py,sha256=a9QGEVL8L7asbJm_VBwgKvJQknsvuqWS0uTUaHsDPiY,16463
159
- dcs_sdk-1.7.1.dist-info/METADATA,sha256=yp3uvwoERa7LCAifpIFs80wist4U3tjyE8D24a23NlM,7652
160
- dcs_sdk-1.7.1.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
161
- dcs_sdk-1.7.1.dist-info/entry_points.txt,sha256=XhODNz7UccgPOyklXgp7pIfTTXArd6-V0mImjhnhwto,80
162
- dcs_sdk-1.7.1.dist-info/RECORD,,
159
+ dcs_sdk-1.7.2.dist-info/METADATA,sha256=wLWP2WELM_fo2dGYJK9Uwea76M1rg1S2sexM7sVQ8cE,7652
160
+ dcs_sdk-1.7.2.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
161
+ dcs_sdk-1.7.2.dist-info/entry_points.txt,sha256=XhODNz7UccgPOyklXgp7pIfTTXArd6-V0mImjhnhwto,80
162
+ dcs_sdk-1.7.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.2.1
2
+ Generator: poetry-core 2.3.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any