datacontract-cli 0.10.27__py3-none-any.whl → 0.10.29__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.
Potentially problematic release.
This version of datacontract-cli might be problematic. Click here for more details.
- datacontract/api.py +1 -1
- datacontract/cli.py +37 -5
- datacontract/data_contract.py +122 -29
- datacontract/engines/data_contract_checks.py +2 -0
- datacontract/engines/soda/connections/duckdb_connection.py +1 -1
- datacontract/export/html_exporter.py +28 -23
- datacontract/export/mermaid_exporter.py +78 -13
- datacontract/export/odcs_v3_exporter.py +7 -9
- datacontract/export/rdf_converter.py +2 -2
- datacontract/export/sql_type_converter.py +2 -2
- datacontract/imports/excel_importer.py +7 -2
- datacontract/imports/importer.py +11 -1
- datacontract/imports/importer_factory.py +7 -0
- datacontract/imports/json_importer.py +325 -0
- datacontract/imports/odcs_importer.py +2 -2
- datacontract/imports/odcs_v3_importer.py +9 -9
- datacontract/imports/spark_importer.py +38 -16
- datacontract/imports/sql_importer.py +4 -2
- datacontract/imports/unity_importer.py +77 -37
- datacontract/init/init_template.py +1 -1
- datacontract/integration/datamesh_manager.py +16 -2
- datacontract/lint/resolve.py +61 -7
- datacontract/lint/schema.py +1 -1
- datacontract/schemas/datacontract-1.1.0.init.yaml +1 -1
- datacontract/schemas/datacontract-1.2.0.init.yaml +91 -0
- datacontract/schemas/datacontract-1.2.0.schema.json +2029 -0
- datacontract/templates/datacontract.html +4 -0
- datacontract/templates/datacontract_odcs.html +666 -0
- datacontract/templates/index.html +2 -0
- datacontract/templates/partials/server.html +2 -0
- datacontract/templates/style/output.css +319 -145
- {datacontract_cli-0.10.27.dist-info → datacontract_cli-0.10.29.dist-info}/METADATA +98 -62
- {datacontract_cli-0.10.27.dist-info → datacontract_cli-0.10.29.dist-info}/RECORD +37 -33
- {datacontract_cli-0.10.27.dist-info → datacontract_cli-0.10.29.dist-info}/WHEEL +1 -1
- {datacontract_cli-0.10.27.dist-info → datacontract_cli-0.10.29.dist-info}/entry_points.txt +0 -0
- {datacontract_cli-0.10.27.dist-info → datacontract_cli-0.10.29.dist-info}/licenses/LICENSE +0 -0
- {datacontract_cli-0.10.27.dist-info → datacontract_cli-0.10.29.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: datacontract-cli
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.29
|
|
4
4
|
Summary: The datacontract CLI is an open source command-line tool for working with Data Contracts. It uses data contract YAML files to lint the data contract, connect to data sources and execute schema and quality tests, detect breaking changes, and export to different formats. The tool is written in Python. It can be used as a standalone CLI tool, in a CI/CD pipeline, or directly as a Python library.
|
|
5
5
|
Author-email: Jochen Christ <jochen.christ@innoq.com>, Stefan Negele <stefan.negele@innoq.com>, Simon Harrer <simon.harrer@innoq.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -28,7 +28,7 @@ Requires-Dist: python-dotenv<2.0.0,>=1.0.0
|
|
|
28
28
|
Requires-Dist: boto3<2.0.0,>=1.34.41
|
|
29
29
|
Requires-Dist: Jinja2<4.0.0,>=3.1.5
|
|
30
30
|
Requires-Dist: jinja_partials<1.0.0,>=0.2.1
|
|
31
|
-
Requires-Dist: datacontract-specification<2.0.0,>=1.
|
|
31
|
+
Requires-Dist: datacontract-specification<2.0.0,>=1.2.0
|
|
32
32
|
Requires-Dist: open-data-contract-standard<4.0.0,>=3.0.4
|
|
33
33
|
Provides-Extra: avro
|
|
34
34
|
Requires-Dist: avro==1.12.0; extra == "avro"
|
|
@@ -42,19 +42,21 @@ Provides-Extra: databricks
|
|
|
42
42
|
Requires-Dist: soda-core-spark-df<3.6.0,>=3.3.20; extra == "databricks"
|
|
43
43
|
Requires-Dist: soda-core-spark[databricks]<3.6.0,>=3.3.20; extra == "databricks"
|
|
44
44
|
Requires-Dist: databricks-sql-connector<4.1.0,>=3.7.0; extra == "databricks"
|
|
45
|
-
Requires-Dist: databricks-sdk<0.
|
|
45
|
+
Requires-Dist: databricks-sdk<0.58.0; extra == "databricks"
|
|
46
|
+
Requires-Dist: pyspark<4.0.0,>=3.5.5; extra == "databricks"
|
|
46
47
|
Provides-Extra: iceberg
|
|
47
|
-
Requires-Dist: pyiceberg==0.
|
|
48
|
+
Requires-Dist: pyiceberg==0.9.1; extra == "iceberg"
|
|
48
49
|
Provides-Extra: kafka
|
|
49
50
|
Requires-Dist: datacontract-cli[avro]; extra == "kafka"
|
|
50
51
|
Requires-Dist: soda-core-spark-df<3.6.0,>=3.3.20; extra == "kafka"
|
|
52
|
+
Requires-Dist: pyspark<4.0.0,>=3.5.5; extra == "kafka"
|
|
51
53
|
Provides-Extra: postgres
|
|
52
54
|
Requires-Dist: soda-core-postgres<3.6.0,>=3.3.20; extra == "postgres"
|
|
53
55
|
Provides-Extra: s3
|
|
54
56
|
Requires-Dist: s3fs<2026.0.0,>=2025.2.0; extra == "s3"
|
|
55
57
|
Requires-Dist: aiobotocore<2.23.0,>=2.17.0; extra == "s3"
|
|
56
58
|
Provides-Extra: snowflake
|
|
57
|
-
Requires-Dist: snowflake-connector-python[pandas]<3.
|
|
59
|
+
Requires-Dist: snowflake-connector-python[pandas]<3.16,>=3.6; extra == "snowflake"
|
|
58
60
|
Requires-Dist: soda-core-snowflake<3.6.0,>=3.3.20; extra == "snowflake"
|
|
59
61
|
Provides-Extra: sqlserver
|
|
60
62
|
Requires-Dist: soda-core-sqlserver<3.6.0,>=3.3.20; extra == "sqlserver"
|
|
@@ -69,8 +71,8 @@ Requires-Dist: pyarrow>=18.1.0; extra == "parquet"
|
|
|
69
71
|
Provides-Extra: rdf
|
|
70
72
|
Requires-Dist: rdflib==7.0.0; extra == "rdf"
|
|
71
73
|
Provides-Extra: api
|
|
72
|
-
Requires-Dist: fastapi==0.115.
|
|
73
|
-
Requires-Dist: uvicorn==0.
|
|
74
|
+
Requires-Dist: fastapi==0.115.14; extra == "api"
|
|
75
|
+
Requires-Dist: uvicorn==0.35.0; extra == "api"
|
|
74
76
|
Provides-Extra: protobuf
|
|
75
77
|
Requires-Dist: grpcio-tools>=1.53; extra == "protobuf"
|
|
76
78
|
Provides-Extra: all
|
|
@@ -79,15 +81,15 @@ Provides-Extra: dev
|
|
|
79
81
|
Requires-Dist: datacontract-cli[all]; extra == "dev"
|
|
80
82
|
Requires-Dist: httpx==0.28.1; extra == "dev"
|
|
81
83
|
Requires-Dist: kafka-python; extra == "dev"
|
|
82
|
-
Requires-Dist: moto==5.1.
|
|
84
|
+
Requires-Dist: moto==5.1.6; extra == "dev"
|
|
83
85
|
Requires-Dist: pandas>=2.1.0; extra == "dev"
|
|
84
86
|
Requires-Dist: pre-commit<4.3.0,>=3.7.1; extra == "dev"
|
|
85
87
|
Requires-Dist: pytest; extra == "dev"
|
|
86
88
|
Requires-Dist: pytest-xdist; extra == "dev"
|
|
87
|
-
Requires-Dist: pymssql==2.3.
|
|
89
|
+
Requires-Dist: pymssql==2.3.6; extra == "dev"
|
|
88
90
|
Requires-Dist: ruff; extra == "dev"
|
|
89
91
|
Requires-Dist: testcontainers[kafka,minio,mssql,postgres]==4.10.0; extra == "dev"
|
|
90
|
-
Requires-Dist: trino==0.
|
|
92
|
+
Requires-Dist: trino==0.335.0; extra == "dev"
|
|
91
93
|
Dynamic: license-file
|
|
92
94
|
|
|
93
95
|
# Data Contract CLI
|
|
@@ -399,30 +401,38 @@ Commands
|
|
|
399
401
|
│ [default: datacontract.yaml] │
|
|
400
402
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
401
403
|
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
|
|
402
|
-
│ --schema
|
|
403
|
-
│
|
|
404
|
-
│
|
|
405
|
-
│
|
|
406
|
-
│
|
|
407
|
-
│
|
|
408
|
-
│
|
|
409
|
-
│
|
|
410
|
-
│
|
|
411
|
-
│
|
|
412
|
-
│
|
|
413
|
-
│
|
|
414
|
-
│
|
|
415
|
-
│
|
|
416
|
-
│
|
|
417
|
-
│
|
|
418
|
-
│
|
|
419
|
-
│
|
|
420
|
-
│
|
|
421
|
-
│ --
|
|
422
|
-
│
|
|
423
|
-
│
|
|
424
|
-
│
|
|
425
|
-
│
|
|
404
|
+
│ --schema TEXT The location (url or path) of │
|
|
405
|
+
│ the Data Contract Specification │
|
|
406
|
+
│ JSON Schema │
|
|
407
|
+
│ [default: None] │
|
|
408
|
+
│ --server TEXT The server configuration to run │
|
|
409
|
+
│ the schema and quality tests. │
|
|
410
|
+
│ Use the key of the server object │
|
|
411
|
+
│ in the data contract yaml file │
|
|
412
|
+
│ to refer to a server, e.g., │
|
|
413
|
+
│ `production`, or `all` for all │
|
|
414
|
+
│ servers (default). │
|
|
415
|
+
│ [default: all] │
|
|
416
|
+
│ --publish-test-results --no-publish-test-results Publish the results after the │
|
|
417
|
+
│ test │
|
|
418
|
+
│ [default: │
|
|
419
|
+
│ no-publish-test-results] │
|
|
420
|
+
│ --publish TEXT DEPRECATED. The url to publish │
|
|
421
|
+
│ the results after the test. │
|
|
422
|
+
│ [default: None] │
|
|
423
|
+
│ --output PATH Specify the file path where the │
|
|
424
|
+
│ test results should be written │
|
|
425
|
+
│ to (e.g., │
|
|
426
|
+
│ './test-results/TEST-datacontra… │
|
|
427
|
+
│ [default: None] │
|
|
428
|
+
│ --output-format [junit] The target format for the test │
|
|
429
|
+
│ results. │
|
|
430
|
+
│ [default: None] │
|
|
431
|
+
│ --logs --no-logs Print logs [default: no-logs] │
|
|
432
|
+
│ --ssl-verification --no-ssl-verification SSL verification when publishing │
|
|
433
|
+
│ the data contract. │
|
|
434
|
+
│ [default: ssl-verification] │
|
|
435
|
+
│ --help Show this message and exit. │
|
|
426
436
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
427
437
|
|
|
428
438
|
```
|
|
@@ -996,6 +1006,21 @@ Available export options:
|
|
|
996
1006
|
| `custom` | Export to Custom format with Jinja | ✅ |
|
|
997
1007
|
| Missing something? | Please create an issue on GitHub | TBD |
|
|
998
1008
|
|
|
1009
|
+
#### SQL
|
|
1010
|
+
|
|
1011
|
+
The `export` function converts a given data contract into a SQL data definition language (DDL).
|
|
1012
|
+
|
|
1013
|
+
```shell
|
|
1014
|
+
datacontract export datacontract.yaml --format sql --output output.sql
|
|
1015
|
+
```
|
|
1016
|
+
|
|
1017
|
+
If using Databricks, and an error is thrown when trying to deploy the SQL DDLs with `variant` columns set the following properties.
|
|
1018
|
+
|
|
1019
|
+
```shell
|
|
1020
|
+
spark.conf.set(“spark.databricks.delta.schema.typeCheck.enabled”, “false”)
|
|
1021
|
+
from datacontract.model import data_contract_specification
|
|
1022
|
+
data_contract_specification.DATACONTRACT_TYPES.append(“variant”)
|
|
1023
|
+
```
|
|
999
1024
|
|
|
1000
1025
|
#### Great Expectations
|
|
1001
1026
|
|
|
@@ -1003,7 +1028,7 @@ The `export` function transforms a specified data contract into a comprehensive
|
|
|
1003
1028
|
If the contract includes multiple models, you need to specify the names of the model you wish to export.
|
|
1004
1029
|
|
|
1005
1030
|
```shell
|
|
1006
|
-
datacontract
|
|
1031
|
+
datacontract export datacontract.yaml --format great-expectations --model orders
|
|
1007
1032
|
```
|
|
1008
1033
|
|
|
1009
1034
|
The export creates a list of expectations by utilizing:
|
|
@@ -1028,7 +1053,7 @@ To further customize the export, the following optional arguments are available:
|
|
|
1028
1053
|
|
|
1029
1054
|
#### RDF
|
|
1030
1055
|
|
|
1031
|
-
The export function converts a given data contract into a RDF representation. You have the option to
|
|
1056
|
+
The `export` function converts a given data contract into a RDF representation. You have the option to
|
|
1032
1057
|
add a base_url which will be used as the default prefix to resolve relative IRIs inside the document.
|
|
1033
1058
|
|
|
1034
1059
|
```shell
|
|
@@ -1261,9 +1286,9 @@ FROM
|
|
|
1261
1286
|
|
|
1262
1287
|
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
|
|
1263
1288
|
│ * --format [sql|avro|dbt|dbml|glue|jsonsc The format of the source file. │
|
|
1264
|
-
│ hema|bigquery|odcs|unity|
|
|
1265
|
-
│ |iceberg|parquet|csv|
|
|
1266
|
-
│ excel]
|
|
1289
|
+
│ hema|json|bigquery|odcs|unity| [default: None] │
|
|
1290
|
+
│ spark|iceberg|parquet|csv|prot [required] │
|
|
1291
|
+
│ obuf|excel] │
|
|
1267
1292
|
│ --output PATH Specify the file path where │
|
|
1268
1293
|
│ the Data Contract will be │
|
|
1269
1294
|
│ saved. If no path is provided, │
|
|
@@ -1273,6 +1298,10 @@ FROM
|
|
|
1273
1298
|
│ --source TEXT The path to the file that │
|
|
1274
1299
|
│ should be imported. │
|
|
1275
1300
|
│ [default: None] │
|
|
1301
|
+
│ --spec [datacontract_specification|od The format of the data │
|
|
1302
|
+
│ cs] contract to import. │
|
|
1303
|
+
│ [default: │
|
|
1304
|
+
│ datacontract_specification] │
|
|
1276
1305
|
│ --dialect TEXT The SQL dialect to use when │
|
|
1277
1306
|
│ importing SQL files, e.g., │
|
|
1278
1307
|
│ postgres, tsql, bigquery. │
|
|
@@ -1361,11 +1390,11 @@ Available import options:
|
|
|
1361
1390
|
| `jsonschema` | Import from JSON Schemas | ✅ |
|
|
1362
1391
|
| `odcs` | Import from Open Data Contract Standard (ODCS) | ✅ |
|
|
1363
1392
|
| `parquet` | Import from Parquet File Metadata | ✅ |
|
|
1364
|
-
| `protobuf` | Import from Protobuf schemas | ✅
|
|
1365
|
-
| `spark` | Import from Spark StructTypes
|
|
1393
|
+
| `protobuf` | Import from Protobuf schemas | ✅ |
|
|
1394
|
+
| `spark` | Import from Spark StructTypes, Variant | ✅ |
|
|
1366
1395
|
| `sql` | Import from SQL DDL | ✅ |
|
|
1367
1396
|
| `unity` | Import from Databricks Unity Catalog | partial |
|
|
1368
|
-
| Missing something? | Please create an issue on GitHub | TBD
|
|
1397
|
+
| Missing something? | Please create an issue on GitHub | TBD |
|
|
1369
1398
|
|
|
1370
1399
|
|
|
1371
1400
|
#### ODCS
|
|
@@ -1467,14 +1496,31 @@ datacontract import --format glue --source <database_name>
|
|
|
1467
1496
|
|
|
1468
1497
|
#### Spark
|
|
1469
1498
|
|
|
1470
|
-
Importing from Spark table or view these must be created or accessible in the Spark context. Specify tables list in `source` parameter.
|
|
1471
|
-
|
|
1472
|
-
Example:
|
|
1499
|
+
Importing from Spark table or view these must be created or accessible in the Spark context. Specify tables list in `source` parameter. If the `source` tables are registered as tables in Databricks, and they have a table-level descriptions they will also be added to the Data Contract Specification.
|
|
1473
1500
|
|
|
1474
1501
|
```bash
|
|
1502
|
+
# Example: Import Spark table(s) from Spark context
|
|
1475
1503
|
datacontract import --format spark --source "users,orders"
|
|
1476
1504
|
```
|
|
1477
1505
|
|
|
1506
|
+
```bash
|
|
1507
|
+
# Example: Import Spark table
|
|
1508
|
+
DataContract().import_from_source("spark", "users")
|
|
1509
|
+
DataContract().import_from_source(format = "spark", source = "users")
|
|
1510
|
+
|
|
1511
|
+
# Example: Import Spark dataframe
|
|
1512
|
+
DataContract().import_from_source("spark", "users", dataframe = df_user)
|
|
1513
|
+
DataContract().import_from_source(format = "spark", source = "users", dataframe = df_user)
|
|
1514
|
+
|
|
1515
|
+
# Example: Import Spark table + table description
|
|
1516
|
+
DataContract().import_from_source("spark", "users", description = "description")
|
|
1517
|
+
DataContract().import_from_source(format = "spark", source = "users", description = "description")
|
|
1518
|
+
|
|
1519
|
+
# Example: Import Spark dataframe + table description
|
|
1520
|
+
DataContract().import_from_source("spark", "users", dataframe = df_user, description = "description")
|
|
1521
|
+
DataContract().import_from_source(format = "spark", source = "users", dataframe = df_user, description = "description")
|
|
1522
|
+
```
|
|
1523
|
+
|
|
1478
1524
|
#### DBML
|
|
1479
1525
|
|
|
1480
1526
|
Importing from DBML Documents.
|
|
@@ -1666,6 +1712,8 @@ datacontract catalog --files "*.odcs.yaml"
|
|
|
1666
1712
|
information.
|
|
1667
1713
|
To connect to servers (such as a Snowflake data source), set the credentials as environment
|
|
1668
1714
|
variables as documented in https://cli.datacontract.com/#test
|
|
1715
|
+
It is possible to run the API with extra arguments for `uvicorn.run()` as keyword arguments, e.g.:
|
|
1716
|
+
`datacontract api --port 1234 --root_path /datacontract`.
|
|
1669
1717
|
|
|
1670
1718
|
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
|
|
1671
1719
|
│ --port INTEGER Bind socket to this port. [default: 4242] │
|
|
@@ -1932,7 +1980,7 @@ if __name__ == "__main__":
|
|
|
1932
1980
|
Output
|
|
1933
1981
|
|
|
1934
1982
|
```yaml
|
|
1935
|
-
dataContractSpecification: 1.
|
|
1983
|
+
dataContractSpecification: 1.2.0
|
|
1936
1984
|
id: uuid-custom
|
|
1937
1985
|
info:
|
|
1938
1986
|
title: my_custom_imported_data
|
|
@@ -1951,22 +1999,9 @@ models:
|
|
|
1951
1999
|
```
|
|
1952
2000
|
## Development Setup
|
|
1953
2001
|
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
# create venv
|
|
1958
|
-
python3.11 -m venv venv
|
|
1959
|
-
source venv/bin/activate
|
|
1960
|
-
|
|
1961
|
-
# Install Requirements
|
|
1962
|
-
pip install --upgrade pip setuptools wheel
|
|
1963
|
-
pip install -e '.[dev]'
|
|
1964
|
-
pre-commit install
|
|
1965
|
-
pre-commit run --all-files
|
|
1966
|
-
pytest
|
|
1967
|
-
```
|
|
1968
|
-
|
|
1969
|
-
### Use uv (recommended)
|
|
2002
|
+
- Install [uv](https://docs.astral.sh/uv/)
|
|
2003
|
+
- Python base interpreter should be 3.11.x .
|
|
2004
|
+
- Docker engine must be running to execute the tests.
|
|
1970
2005
|
|
|
1971
2006
|
```bash
|
|
1972
2007
|
# make sure uv is installed
|
|
@@ -2048,6 +2083,7 @@ We are happy to receive your contributions. Propose your change in an issue or d
|
|
|
2048
2083
|
- [INNOQ](https://innoq.com)
|
|
2049
2084
|
- [Data Catering](https://data.catering/)
|
|
2050
2085
|
- [Oliver Wyman](https://www.oliverwyman.com/)
|
|
2086
|
+
- [dmTECH](https://www.dmtech.tech/de)
|
|
2051
2087
|
- And many more. To add your company, please create a pull request.
|
|
2052
2088
|
|
|
2053
2089
|
## Related Tools
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
datacontract/__init__.py,sha256=ThDdxDJsd7qNErLoh628nK5M7RzhJNYCmN-C6BAJFoo,405
|
|
2
|
-
datacontract/api.py,sha256=
|
|
3
|
-
datacontract/cli.py,sha256=
|
|
4
|
-
datacontract/data_contract.py,sha256
|
|
2
|
+
datacontract/api.py,sha256=Ze6pVD3Ub0oyMJI3iYSNXH78K2nPKbXKKHA-0DerJ48,8175
|
|
3
|
+
datacontract/cli.py,sha256=KSXii4MsrdmEwFTDN9F7A-OC250gdY0R914FBqA2RuY,18614
|
|
4
|
+
datacontract/data_contract.py,sha256=-nIf68Uo2bclJpqGUz_AkLesGqwrlgpn59WVSFwoi3I,15028
|
|
5
5
|
datacontract/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
datacontract/breaking/breaking.py,sha256=DnqgxUjD-EAZcg5RBizOP9a2WxsFTaQBik0AB_m3K00,20431
|
|
7
7
|
datacontract/breaking/breaking_change.py,sha256=BIDEUo1U2CQLVT2-I5PyFttxAj6zQPI1UUkEoOOQXMY,2249
|
|
8
8
|
datacontract/breaking/breaking_rules.py,sha256=M9IdzVJSA7oOr1fvLQl0y9MoBKeItPz42Db2U2cjH2Y,4063
|
|
9
9
|
datacontract/catalog/catalog.py,sha256=HyFmUPsN3pWJ2WTdbs0DmOf0qmwAzc2-ijWse9_dhBc,2729
|
|
10
10
|
datacontract/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
datacontract/engines/data_contract_checks.py,sha256=
|
|
11
|
+
datacontract/engines/data_contract_checks.py,sha256=2WSxqslt7hxr0CzCir-8I3RihCbFAAa8LmF3fxORMQk,26728
|
|
12
12
|
datacontract/engines/data_contract_test.py,sha256=NAnO_744H30tkQh43PSUSsAs3TC9DaNIWZe9jFKzA8Q,3242
|
|
13
13
|
datacontract/engines/datacontract/check_that_datacontract_contains_valid_servers_configuration.py,sha256=zrDn-_EJJ5kv0kZWAA-toeEPuBd3YQ0-U7Jb8euNUS8,1558
|
|
14
14
|
datacontract/engines/datacontract/check_that_datacontract_file_exists.py,sha256=Vw-7U0GmQT2127tybxggZfpRFiZVgoIh6ndkTGM0FP4,665
|
|
@@ -18,7 +18,7 @@ datacontract/engines/soda/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
|
18
18
|
datacontract/engines/soda/check_soda_execute.py,sha256=SYJdPpkozOA62yTM7s6cfwLfgfxgGJptO5U-cShrtPk,8600
|
|
19
19
|
datacontract/engines/soda/connections/bigquery.py,sha256=C-8kxmzpYe88bJp80ObHFLMh4rpnIjnUQ7XOj0Ke7lk,903
|
|
20
20
|
datacontract/engines/soda/connections/databricks.py,sha256=cMRasuO0MrSKVgHPB-9uFTGTZPFg6z9Kpk3tJ0SdR0s,943
|
|
21
|
-
datacontract/engines/soda/connections/duckdb_connection.py,sha256=
|
|
21
|
+
datacontract/engines/soda/connections/duckdb_connection.py,sha256=UY6BElfLUs_LPZ4EA5SNZKhaq6EsPe9Mb79zhoSv4sg,9110
|
|
22
22
|
datacontract/engines/soda/connections/kafka.py,sha256=lnj_-3-CnJ6stetGqm6HOzN1Qatlw7xoCQU2zKBIXxU,8725
|
|
23
23
|
datacontract/engines/soda/connections/postgres.py,sha256=9GTF4Es3M5vb7ocSGqAxXmslvkS5CjsPQGIuo020CFc,626
|
|
24
24
|
datacontract/engines/soda/connections/snowflake.py,sha256=rfG2ysuqNM6TkvyqQKcGHFsTGJ6AROmud5VleUDRrb0,749
|
|
@@ -38,20 +38,20 @@ datacontract/export/exporter.py,sha256=P_6J5d7k5GPm-DUyfrbgEXmU_o45FHu5nlOTT2Cdk
|
|
|
38
38
|
datacontract/export/exporter_factory.py,sha256=PWA2j82Vjenj4hXlYXUISTzttrMIILdx8LxNv6hM0cg,6014
|
|
39
39
|
datacontract/export/go_converter.py,sha256=Ttvbfu3YU-3GBwRD6nwCsFyZuc_hiIvJD-Jg2sT5WLw,3331
|
|
40
40
|
datacontract/export/great_expectations_converter.py,sha256=WvEa4HNUMyzn2a5YNkcI9mjROzGkKRYOS2gFPjRRHNc,12218
|
|
41
|
-
datacontract/export/html_exporter.py,sha256=
|
|
41
|
+
datacontract/export/html_exporter.py,sha256=EyTMj25_Df3irZiYw1hxVZeLYWp6YSG6z3IuFUviP14,3066
|
|
42
42
|
datacontract/export/iceberg_converter.py,sha256=ArcQ_Y3z_W4_kGDU_8jPRx2-pHpP3Nhx1zYoETOL3c4,6804
|
|
43
43
|
datacontract/export/jsonschema_converter.py,sha256=2MT82MurcQQbrVDRj1kFsxnmFd9scNSfYI1upQSecl4,5631
|
|
44
44
|
datacontract/export/markdown_converter.py,sha256=chtaZX4vXTee7JCMYmWiDQ9m55gwJjHPw6SEM3UOwpQ,6467
|
|
45
|
-
datacontract/export/mermaid_exporter.py,sha256
|
|
46
|
-
datacontract/export/odcs_v3_exporter.py,sha256=
|
|
45
|
+
datacontract/export/mermaid_exporter.py,sha256=wBFqRKgy3Y5FZnzD0RCR1UAlT9ZqYW7dkXWSJa6eHiQ,3465
|
|
46
|
+
datacontract/export/odcs_v3_exporter.py,sha256=b__AiPAnCUuFQE5DPHsvXBrMeEl1t_mJ1vzTx84TMlI,13931
|
|
47
47
|
datacontract/export/pandas_type_converter.py,sha256=464pQ3JQKFQa1TO0HBNcEoZvQye_yUbY6jQtiBaphSc,1117
|
|
48
48
|
datacontract/export/protobuf_converter.py,sha256=DHLl8BW26xqltBsd7Qhz0RhTl9YZQKCbkmjNpECgubg,7928
|
|
49
49
|
datacontract/export/pydantic_converter.py,sha256=1Lt9F8i6zyQYb44MyQtsXwCWWXYxZ47SmzArr_uPqsU,5579
|
|
50
|
-
datacontract/export/rdf_converter.py,sha256=
|
|
50
|
+
datacontract/export/rdf_converter.py,sha256=1aTe_fwBRBnYUrJZzhEQ8eVnl0mQ1hcF45aKVdgvSIc,6435
|
|
51
51
|
datacontract/export/sodacl_converter.py,sha256=75vQ2TnoLfjiDtWT2x8opumvotXVRs1YaIu1NLYz05M,1473
|
|
52
52
|
datacontract/export/spark_converter.py,sha256=LCue-rLan3ki7HgzUFyBaO8YUlc6CrDNBZD-QVgUv-U,7190
|
|
53
53
|
datacontract/export/sql_converter.py,sha256=vyLbDqzt_J3LRXpPv2W2HqUIyAtQx_S-jviBiSxh14A,5087
|
|
54
|
-
datacontract/export/sql_type_converter.py,sha256=
|
|
54
|
+
datacontract/export/sql_type_converter.py,sha256=4r8S7nb4z2ODgXTwHxdtU158HWE8uxXHydiZ_y4-N_E,13592
|
|
55
55
|
datacontract/export/sqlalchemy_converter.py,sha256=0DMncvA811lTtd5q4ZORREQ9YH1vQm1lJeqMWsFvloE,6463
|
|
56
56
|
datacontract/export/terraform_converter.py,sha256=ExFoEvErVk-gBnWJiqC38SxDUmUEydpACWc917l5RyM,2163
|
|
57
57
|
datacontract/imports/avro_importer.py,sha256=ryu4iUCSPJEV1uaE3AKdxD7fUxmRJ-ta936xurbgtHc,10922
|
|
@@ -59,26 +59,27 @@ datacontract/imports/bigquery_importer.py,sha256=7TcP9FDsIas5LwJZ-HrOPXZ-NuR056s
|
|
|
59
59
|
datacontract/imports/csv_importer.py,sha256=mBsmyTvfB8q64Z3NYqv4zTDUOvoXG896hZvp3oLt5YM,5330
|
|
60
60
|
datacontract/imports/dbml_importer.py,sha256=o0IOgvXN34lU1FICDHm_QUTv0DKsgwbHPHUDxQhIapE,3872
|
|
61
61
|
datacontract/imports/dbt_importer.py,sha256=hQwqD9vbvwLLc6Yj3tQbar5ldI0pV-ynSiz7CZZ0JCc,8290
|
|
62
|
-
datacontract/imports/excel_importer.py,sha256=
|
|
62
|
+
datacontract/imports/excel_importer.py,sha256=6HJcbRxyZ0PTFL0f0Ww-VAMdUnnph_e7JqZWwOeAK6Y,37111
|
|
63
63
|
datacontract/imports/glue_importer.py,sha256=fiJPkvfwOCsaKKCGW19-JM5CCGXZ2mkNrVtUzp2iw6g,8370
|
|
64
64
|
datacontract/imports/iceberg_importer.py,sha256=vadGJVqQKgG-j8swUytZALFB8QjbGRqZPCcPcCy0vco,5923
|
|
65
|
-
datacontract/imports/importer.py,sha256=
|
|
66
|
-
datacontract/imports/importer_factory.py,sha256=
|
|
65
|
+
datacontract/imports/importer.py,sha256=NRhR_9AWPWDNq2ac_DVUHGoJuvkVpwwaao8nDfJG_l0,1257
|
|
66
|
+
datacontract/imports/importer_factory.py,sha256=RS7uwkkT7rIKGeMKgPmZhE3GVC9IfZxZhm8XN0ooa3U,4124
|
|
67
|
+
datacontract/imports/json_importer.py,sha256=JeGbqAC_wAO0u8HeMA5H-KJBfs6gpp1oGIpxt6nxSZI,12641
|
|
67
68
|
datacontract/imports/jsonschema_importer.py,sha256=67H__XLugV4vguHrIqzW02dtx27zYTWnOms4D1ma3bk,4961
|
|
68
|
-
datacontract/imports/odcs_importer.py,sha256=
|
|
69
|
-
datacontract/imports/odcs_v3_importer.py,sha256=
|
|
69
|
+
datacontract/imports/odcs_importer.py,sha256=ZP2u3kJsgULANTbbqkP3joOlU9cUneZOPy6Ak3oTMgs,2140
|
|
70
|
+
datacontract/imports/odcs_v3_importer.py,sha256=smtFSoywNojUCdB8sDu0e_3yHN4CmUw5YS3qF-AU0qY,16873
|
|
70
71
|
datacontract/imports/parquet_importer.py,sha256=W_0_16mX4stwDUt4GM2L7dnGmTpAySab5k13-OlTCCc,3095
|
|
71
72
|
datacontract/imports/protobuf_importer.py,sha256=rlUIskv9PNi5rFQ4Hobt9zlnKpahGsb4dy5G5UJoVAw,10840
|
|
72
|
-
datacontract/imports/spark_importer.py,sha256=
|
|
73
|
-
datacontract/imports/sql_importer.py,sha256=
|
|
74
|
-
datacontract/imports/unity_importer.py,sha256=
|
|
75
|
-
datacontract/init/init_template.py,sha256=
|
|
76
|
-
datacontract/integration/datamesh_manager.py,sha256=
|
|
73
|
+
datacontract/imports/spark_importer.py,sha256=vqGM3kisQGSiHS1AvuC6gp0unj2-6TT3R-ejG96j-Tw,8618
|
|
74
|
+
datacontract/imports/sql_importer.py,sha256=a5Ym4qkjjvT1g1P7lIn0KpvIxL45zGPn_qPKqg570ro,9472
|
|
75
|
+
datacontract/imports/unity_importer.py,sha256=Aa-Rqjzfen5chUB4EUt9bOL0QOAbj4j7ZoU-chdhtvk,8554
|
|
76
|
+
datacontract/init/init_template.py,sha256=nc-B2ZkwDQ3GNFqxNmSDcStQMDbBTxysgTZDLw15izo,721
|
|
77
|
+
datacontract/integration/datamesh_manager.py,sha256=FT9eadzFz181lg54b49_c_x2caGJT7mR3drlZBSBJLo,3375
|
|
77
78
|
datacontract/lint/files.py,sha256=tg0vq_w4LQsEr_8A5qr4hUJmHeGalUpsXJXC1t-OGC0,471
|
|
78
79
|
datacontract/lint/lint.py,sha256=Ew0n3ooXxmCVnUxJ_cDoacsD82QdMZYnKrxnG9J0sWQ,5077
|
|
79
|
-
datacontract/lint/resolve.py,sha256=
|
|
80
|
+
datacontract/lint/resolve.py,sha256=cXYAEfmy1mhK-RwnAOOQ7PzsDI0iRdKjQHDWHozq5DY,14507
|
|
80
81
|
datacontract/lint/resources.py,sha256=nfeZmORh1aP7EKpMKCmfbS04Te8pQ0nz64vJVkHOq3c,647
|
|
81
|
-
datacontract/lint/schema.py,sha256=
|
|
82
|
+
datacontract/lint/schema.py,sha256=xRHPu6K-kepw1jSnUXY-s5IikjIrH7fvDtsGqQeupYw,1813
|
|
82
83
|
datacontract/lint/urls.py,sha256=giac0eAYa6hha8exleL3KsiPtiFlOq8l53axtAmCilw,2529
|
|
83
84
|
datacontract/lint/linters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
85
|
datacontract/lint/linters/description_linter.py,sha256=kQi38TKhqiEL3fwQDs6SdQQ9hXBHgfAi6Q6ZFNuLw1o,1505
|
|
@@ -94,11 +95,14 @@ datacontract/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
|
94
95
|
datacontract/output/junit_test_results.py,sha256=hAT7UgxwbfNzA0f5uuGzM4OIwLfXbmA4dgsfxsclWh0,4822
|
|
95
96
|
datacontract/output/output_format.py,sha256=_ZokDBo7-HXBs6czUv7kLLf9cYft_q5QaKzthsVnc58,212
|
|
96
97
|
datacontract/output/test_results_writer.py,sha256=PWNLs3R_LQMH4xp5WDxLkQgY3xvj8Eyzw1jnfgkQxlc,2713
|
|
97
|
-
datacontract/schemas/datacontract-1.1.0.init.yaml,sha256=
|
|
98
|
+
datacontract/schemas/datacontract-1.1.0.init.yaml,sha256=RXRqtMiRsm1oqxXrKAzqQ_eScIr9D8td8-NWWmpYvM0,1828
|
|
98
99
|
datacontract/schemas/datacontract-1.1.0.schema.json,sha256=3Bu2rxEjkF6dNLcqi1GF4KoXBnEIopaJ87Qb8S4zUvg,62872
|
|
100
|
+
datacontract/schemas/datacontract-1.2.0.init.yaml,sha256=RXRqtMiRsm1oqxXrKAzqQ_eScIr9D8td8-NWWmpYvM0,1828
|
|
101
|
+
datacontract/schemas/datacontract-1.2.0.schema.json,sha256=sk7oL06cug9-WozCrLH8v8MuR3a8MaV1Ztkm1P-7UFk,64226
|
|
99
102
|
datacontract/schemas/odcs-3.0.1.schema.json,sha256=bRZsSXA0fV0EmV_8f1K68PlXu1m4K7JcuHpLnY3ESwQ,72933
|
|
100
|
-
datacontract/templates/datacontract.html,sha256=
|
|
101
|
-
datacontract/templates/
|
|
103
|
+
datacontract/templates/datacontract.html,sha256=dksPEnY3c66jaaVS5r5vWfG6LzyXPjA4nO_yLUirJWg,17394
|
|
104
|
+
datacontract/templates/datacontract_odcs.html,sha256=-k6v_ddMkQ6HPbj0_c6SmP3LfesRVsjvSVt4EpOfzpg,32849
|
|
105
|
+
datacontract/templates/index.html,sha256=8AAJbizpW6UxQBnHjW4Ft7L7nTn7XJtV43gVBwQxFxA,12711
|
|
102
106
|
datacontract/templates/partials/datacontract_information.html,sha256=7ZBxgEgi2XndKBypeOpe03oCSRPOujC6NVlN7zexGNM,6221
|
|
103
107
|
datacontract/templates/partials/datacontract_servicelevels.html,sha256=ed3QgB11B0Qq2h_NwaroGZ4pQMBPEhfeQaoS-qEipqY,11401
|
|
104
108
|
datacontract/templates/partials/datacontract_terms.html,sha256=1cnJcOTpxwot2BCuZmkLF_SPfiVloLs3c8mj9WfE4sc,1865
|
|
@@ -106,11 +110,11 @@ datacontract/templates/partials/definition.html,sha256=gZEmNvwNGGxA_Fnzx_0L6tXlA
|
|
|
106
110
|
datacontract/templates/partials/example.html,sha256=F1dWbHDIXQScgfs4OVgqM1lR4uV4xX5j6suasXHNM88,1204
|
|
107
111
|
datacontract/templates/partials/model_field.html,sha256=2YBF95ypNCPFYuYKoeilRnDG-H_FuW4JK1znkCaYCac,7625
|
|
108
112
|
datacontract/templates/partials/quality.html,sha256=ynEDWRn8I90Uje-xhGYgFcfwOgKI1R-CDki-EvTsauQ,1785
|
|
109
|
-
datacontract/templates/partials/server.html,sha256=
|
|
110
|
-
datacontract/templates/style/output.css,sha256=
|
|
111
|
-
datacontract_cli-0.10.
|
|
112
|
-
datacontract_cli-0.10.
|
|
113
|
-
datacontract_cli-0.10.
|
|
114
|
-
datacontract_cli-0.10.
|
|
115
|
-
datacontract_cli-0.10.
|
|
116
|
-
datacontract_cli-0.10.
|
|
113
|
+
datacontract/templates/partials/server.html,sha256=dHFJtonMjhiUHtT69RUgTpkoRwmNdTRzkCdH0LtGg_4,6279
|
|
114
|
+
datacontract/templates/style/output.css,sha256=ioIo1f96VW7LHhDifj6QI8QbRChJl-LlQ59EwM8MEmA,28692
|
|
115
|
+
datacontract_cli-0.10.29.dist-info/licenses/LICENSE,sha256=23h64qnSeIZ0DKeziWAKC-zBCt328iSbRbWBrXoYRb4,2210
|
|
116
|
+
datacontract_cli-0.10.29.dist-info/METADATA,sha256=qYg7wS67rf8uW1mgGwlIGTaQxs5cIz2-3Lw5wLTW-kw,110312
|
|
117
|
+
datacontract_cli-0.10.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
118
|
+
datacontract_cli-0.10.29.dist-info/entry_points.txt,sha256=D3Eqy4q_Z6bHauGd4ppIyQglwbrm1AJnLau4Ppbw9Is,54
|
|
119
|
+
datacontract_cli-0.10.29.dist-info/top_level.txt,sha256=VIRjd8EIUrBYWjEXJJjtdUgc0UAJdPZjmLiOR8BRBYM,13
|
|
120
|
+
datacontract_cli-0.10.29.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|