SDK for DataChecks
Project description
DCS SDK v1.9.3
SDK for DataChecks
Installation
Python version
>=3.10,<3.13
$ pip install dcs-sdk[all-dbs]
Supported Databases
Availability Status
| Database | Code Name | Supported |
|---|---|---|
| PostgreSQL | postgres |
✅ |
| Snowflake | snowflake |
✅ |
| Trino | trino |
✅ |
| Databricks | databricks |
✅ |
| Oracle | oracle |
✅ |
| MSSQL | mssql |
✅ |
| MySQL | mysql |
✅ |
| SAP Sybase IQ/ASE | sybase |
✅ |
| SAP HANA | sap_hana |
✅ |
| File | file |
✅ |
| BigQuery | bigquery |
✅ |
Available Commands
| Option | Short Option | Required | Default | Description | Example |
|---|---|---|---|---|---|
| --config-path | -C | Yes | None | Specify the file path for the configuration | dcs-sdk run --config-path config.yaml --compare comp_name |
| --compare | Yes | None | Run only specific comparison using comparison name | dcs-sdk run --config-path config.yaml --compare comp_name | |
| --save-json | -j | No | False | Save the data into a JSON file | dcs-sdk run --config-path config.yaml --compare comp_name --save-json |
| --json-path | -jp | No | dcs_report.json | Specify the file path for JSON file | dcs-sdk run --config-path config.yaml --compare comp_name --save-json --json-path ouput.json |
| --stats | No | False | Print stats about data diff | dcs-sdk run --config-path config.yaml --compare comp_name --stats | |
| --url | No | None | Specify url to send data to server | dcs-sdk run --config-path config.yaml --compare comp_name --url=https://comapre/send/data | |
| --html-report | No | False | Save table as HTML | dcs-sdk run --config-path config.yaml --compare comp_name --html-report | |
| --report-path | No | dcs_report.html | Specify the file path for HTML report | dcs-sdk run --config-path config.yaml --compare comp_name --html-report --report-path table.html | |
| --table | No | False | Display Comparison in table format | dcs-sdk run --config-path config.yaml --compare comp_name --html-report --report-path table.html --table |
Example Command [CLI]
$ dcs-sdk --version
$ dcs-sdk --help
$ dcs-sdk run -C example.yaml --compare comparison_one --stats -j -jp output.json --html-report --report-path result.html --table --url=https://comapre/send/data
File Comparisons
dcs-sdk supports file-backed comparisons through DuckDB for:
.csv.parquet- mixed-format comparisons such as
csv ↔ parquet
Supported file datasource types:
fileazure_blob
Notes:
- File paths must point to concrete
.csvor.parquetfiles or globs. - Query-backed file comparisons are supported. When
source.queryortarget.queryis provided, the SDK loads the file into DuckDB and compares against the filtered/projected query view.
Local File Example
data_sources:
- name: source_file
type: file
file_path: sample_data/parquet/one_source.parquet
- name: target_file
type: file
file_path: sample_data/parquet/two_target.parquet
comparisons:
parquet_file_diff:
source:
data_source: source_file
table: one_source
target:
data_source: target_file
table: two_target
key_columns: [id]
columns: [customer_name, status, amount, region]
Run it with:
dcs-sdk run -C parquet_file_comparison.yaml --compare parquet_file_diff --stats
Databricks Query-Backed Comparisons
Databricks comparisons can use either:
- a table name
- a SQL query
For Parquet files stored on Databricks, use a query with read_files(...).
Databricks Table vs Parquet Example
data_sources:
- name: databricks_demo
type: databricks
connection:
host: your-workspace.cloud.databricks.com
port: 443
http_path: /sql/1.0/warehouses/your-warehouse
access_token: ${DATABRICKS_TOKEN}
catalog: dcs_demo_databricks
schema: source
temporary_schema: temp_schema
comparisons:
databricks_table_vs_parquet:
source:
data_source: databricks_demo
table: source_table
target:
data_source: databricks_demo
query: |
SELECT *
FROM read_files(
'/Volumes/dcs_demo_databricks/source/dcs-test-volumne/two_target.parquet',
format => 'parquet'
)
view_name: datachecks_target_file
materialization_type: table
key_columns: [id]
columns: [customer_name, status, amount, region]
Notes:
- Query-backed Databricks comparisons require
temporary_schema. - Generated temp views/tables use the
datachecks_prefix. - Prefer Unity Catalog volume paths such as
/Volumes/...for Databricks file queries. - Legacy DBFS root paths such as
dbfs:/raw/...are not the recommended path for this flow.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dcs_sdk-1.9.3.tar.gz
(1.3 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dcs_sdk-1.9.3.tar.gz.
File metadata
- Download URL: dcs_sdk-1.9.3.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dd97efad650e00f1a51b9b701ac4442863a3ef2603df48744434efc7dd8f28c
|
|
| MD5 |
d4f6ec2b0018f765c80a199ae08ba966
|
|
| BLAKE2b-256 |
08f45c34641b7de6a05f0847b02963fff949318b0a65b7485ed6d79baaa766b6
|
File details
Details for the file dcs_sdk-1.9.3-py3-none-any.whl.
File metadata
- Download URL: dcs_sdk-1.9.3-py3-none-any.whl
- Upload date:
- Size: 1.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c57339132e11e29bddb30aa90ecb674cb53c35f47d15189e06bbbf315bad19e6
|
|
| MD5 |
de759c31535aab23356db1c843fa6364
|
|
| BLAKE2b-256 |
ea1826664dea8163f0eea2b4ce6757aa5b11350a7712eaf06aa795ba789d2fa4
|