datacontract-cli 0.10.28__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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datacontract-cli
3
- Version: 0.10.28
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.1.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,21 +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.55.0; extra == "databricks"
46
- Requires-Dist: pyspark==3.5.5; extra == "databricks"
45
+ Requires-Dist: databricks-sdk<0.58.0; extra == "databricks"
46
+ Requires-Dist: pyspark<4.0.0,>=3.5.5; extra == "databricks"
47
47
  Provides-Extra: iceberg
48
- Requires-Dist: pyiceberg==0.8.1; extra == "iceberg"
48
+ Requires-Dist: pyiceberg==0.9.1; extra == "iceberg"
49
49
  Provides-Extra: kafka
50
50
  Requires-Dist: datacontract-cli[avro]; extra == "kafka"
51
51
  Requires-Dist: soda-core-spark-df<3.6.0,>=3.3.20; extra == "kafka"
52
- Requires-Dist: pyspark==3.5.5; extra == "kafka"
52
+ Requires-Dist: pyspark<4.0.0,>=3.5.5; extra == "kafka"
53
53
  Provides-Extra: postgres
54
54
  Requires-Dist: soda-core-postgres<3.6.0,>=3.3.20; extra == "postgres"
55
55
  Provides-Extra: s3
56
56
  Requires-Dist: s3fs<2026.0.0,>=2025.2.0; extra == "s3"
57
57
  Requires-Dist: aiobotocore<2.23.0,>=2.17.0; extra == "s3"
58
58
  Provides-Extra: snowflake
59
- Requires-Dist: snowflake-connector-python[pandas]<3.15,>=3.6; extra == "snowflake"
59
+ Requires-Dist: snowflake-connector-python[pandas]<3.16,>=3.6; extra == "snowflake"
60
60
  Requires-Dist: soda-core-snowflake<3.6.0,>=3.3.20; extra == "snowflake"
61
61
  Provides-Extra: sqlserver
62
62
  Requires-Dist: soda-core-sqlserver<3.6.0,>=3.3.20; extra == "sqlserver"
@@ -71,8 +71,8 @@ Requires-Dist: pyarrow>=18.1.0; extra == "parquet"
71
71
  Provides-Extra: rdf
72
72
  Requires-Dist: rdflib==7.0.0; extra == "rdf"
73
73
  Provides-Extra: api
74
- Requires-Dist: fastapi==0.115.12; extra == "api"
75
- Requires-Dist: uvicorn==0.34.2; extra == "api"
74
+ Requires-Dist: fastapi==0.115.14; extra == "api"
75
+ Requires-Dist: uvicorn==0.35.0; extra == "api"
76
76
  Provides-Extra: protobuf
77
77
  Requires-Dist: grpcio-tools>=1.53; extra == "protobuf"
78
78
  Provides-Extra: all
@@ -81,15 +81,15 @@ Provides-Extra: dev
81
81
  Requires-Dist: datacontract-cli[all]; extra == "dev"
82
82
  Requires-Dist: httpx==0.28.1; extra == "dev"
83
83
  Requires-Dist: kafka-python; extra == "dev"
84
- Requires-Dist: moto==5.1.5; extra == "dev"
84
+ Requires-Dist: moto==5.1.6; extra == "dev"
85
85
  Requires-Dist: pandas>=2.1.0; extra == "dev"
86
86
  Requires-Dist: pre-commit<4.3.0,>=3.7.1; extra == "dev"
87
87
  Requires-Dist: pytest; extra == "dev"
88
88
  Requires-Dist: pytest-xdist; extra == "dev"
89
- Requires-Dist: pymssql==2.3.4; extra == "dev"
89
+ Requires-Dist: pymssql==2.3.6; extra == "dev"
90
90
  Requires-Dist: ruff; extra == "dev"
91
91
  Requires-Dist: testcontainers[kafka,minio,mssql,postgres]==4.10.0; extra == "dev"
92
- Requires-Dist: trino==0.333.0; extra == "dev"
92
+ Requires-Dist: trino==0.335.0; extra == "dev"
93
93
  Dynamic: license-file
94
94
 
95
95
  # Data Contract CLI
@@ -1286,9 +1286,9 @@ FROM
1286
1286
 
1287
1287
  ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
1288
1288
  │ * --format [sql|avro|dbt|dbml|glue|jsonsc The format of the source file. │
1289
- │ hema|bigquery|odcs|unity|spark [default: None] │
1290
- │ |iceberg|parquet|csv|protobuf| [required] │
1291
- │ excel]
1289
+ │ hema|json|bigquery|odcs|unity| [default: None] │
1290
+ spark|iceberg|parquet|csv|prot [required] │
1291
+ obuf|excel]
1292
1292
  │ --output PATH Specify the file path where │
1293
1293
  │ the Data Contract will be │
1294
1294
  │ saved. If no path is provided, │
@@ -1712,6 +1712,8 @@ datacontract catalog --files "*.odcs.yaml"
1712
1712
  information.
1713
1713
  To connect to servers (such as a Snowflake data source), set the credentials as environment
1714
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`.
1715
1717
 
1716
1718
  ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
1717
1719
  │ --port INTEGER Bind socket to this port. [default: 4242] │
@@ -1978,7 +1980,7 @@ if __name__ == "__main__":
1978
1980
  Output
1979
1981
 
1980
1982
  ```yaml
1981
- dataContractSpecification: 1.1.0
1983
+ dataContractSpecification: 1.2.0
1982
1984
  id: uuid-custom
1983
1985
  info:
1984
1986
  title: my_custom_imported_data
@@ -1997,22 +1999,9 @@ models:
1997
1999
  ```
1998
2000
  ## Development Setup
1999
2001
 
2000
- Python base interpreter should be 3.11.x (unless working on 3.12 release candidate).
2001
-
2002
- ```bash
2003
- # create venv
2004
- python3.11 -m venv venv
2005
- source venv/bin/activate
2006
-
2007
- # Install Requirements
2008
- pip install --upgrade pip setuptools wheel
2009
- pip install -e '.[dev]'
2010
- pre-commit install
2011
- pre-commit run --all-files
2012
- pytest
2013
- ```
2014
-
2015
- ### 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.
2016
2005
 
2017
2006
  ```bash
2018
2007
  # make sure uv is installed
@@ -2094,6 +2083,7 @@ We are happy to receive your contributions. Propose your change in an issue or d
2094
2083
  - [INNOQ](https://innoq.com)
2095
2084
  - [Data Catering](https://data.catering/)
2096
2085
  - [Oliver Wyman](https://www.oliverwyman.com/)
2086
+ - [dmTECH](https://www.dmtech.tech/de)
2097
2087
  - And many more. To add your company, please create a pull request.
2098
2088
 
2099
2089
  ## Related Tools
@@ -1,6 +1,6 @@
1
1
  datacontract/__init__.py,sha256=ThDdxDJsd7qNErLoh628nK5M7RzhJNYCmN-C6BAJFoo,405
2
- datacontract/api.py,sha256=031PVQbZGHPVpFLFHGQ-Igc5queVCnjAun6oxLDMIOo,8175
3
- datacontract/cli.py,sha256=SWleaBDmgRJ3AmK5RbT39MmEcTA0qZG7pstPhgAVW9A,17531
2
+ datacontract/api.py,sha256=Ze6pVD3Ub0oyMJI3iYSNXH78K2nPKbXKKHA-0DerJ48,8175
3
+ datacontract/cli.py,sha256=KSXii4MsrdmEwFTDN9F7A-OC250gdY0R914FBqA2RuY,18614
4
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
@@ -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=hy2HxktSSt1tFB7rVI7tDOe6WeTNvHSKqsEk9uIkntU,9114
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
@@ -47,11 +47,11 @@ datacontract/export/odcs_v3_exporter.py,sha256=b__AiPAnCUuFQE5DPHsvXBrMeEl1t_mJ1
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=4gnKus37Geth4MJ3Ruc8AbnpD_Ll9OCx8oTIEKScvh8,6435
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=xla5WG5hDlErXVeTvJ_zMF1F_AUmh4azv8Lj-kcO-hk,13593
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,11 +59,12 @@ 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=9nrQGfibA5LDC9mAbigVQhGdzpr_tZp9ORFebYHhgfo,37031
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=E0em4kOeEGlP0qTQkPhOGdeYyVNNc7OU4tjUV-UBy1k,1239
66
- datacontract/imports/importer_factory.py,sha256=VBSrr9e3g09eJwnkZveJXuUMrQr072AcTJZ0q1MVf18,3966
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
69
  datacontract/imports/odcs_importer.py,sha256=ZP2u3kJsgULANTbbqkP3joOlU9cUneZOPy6Ak3oTMgs,2140
69
70
  datacontract/imports/odcs_v3_importer.py,sha256=smtFSoywNojUCdB8sDu0e_3yHN4CmUw5YS3qF-AU0qY,16873
@@ -72,13 +73,13 @@ datacontract/imports/protobuf_importer.py,sha256=rlUIskv9PNi5rFQ4Hobt9zlnKpahGsb
72
73
  datacontract/imports/spark_importer.py,sha256=vqGM3kisQGSiHS1AvuC6gp0unj2-6TT3R-ejG96j-Tw,8618
73
74
  datacontract/imports/sql_importer.py,sha256=a5Ym4qkjjvT1g1P7lIn0KpvIxL45zGPn_qPKqg570ro,9472
74
75
  datacontract/imports/unity_importer.py,sha256=Aa-Rqjzfen5chUB4EUt9bOL0QOAbj4j7ZoU-chdhtvk,8554
75
- datacontract/init/init_template.py,sha256=BMawR-AF_vXyn_-Co-XoT8Dxj9b55V8xKk2KkJK-c1o,721
76
+ datacontract/init/init_template.py,sha256=nc-B2ZkwDQ3GNFqxNmSDcStQMDbBTxysgTZDLw15izo,721
76
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=-SwRYSVq8zHbenK2LoOvd3lfUbqJdXylmeeFwGFxAfc,14507
80
+ datacontract/lint/resolve.py,sha256=cXYAEfmy1mhK-RwnAOOQ7PzsDI0iRdKjQHDWHozq5DY,14507
80
81
  datacontract/lint/resources.py,sha256=nfeZmORh1aP7EKpMKCmfbS04Te8pQ0nz64vJVkHOq3c,647
81
- datacontract/lint/schema.py,sha256=4pYX6JX6SkASftyqaWTodKFRVPi2qV0_Z60tvaCOk80,1813
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,8 +95,10 @@ 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=_WQX6NRwimXlPVKcKeHLd4mFL0TJ2vYH0WnyMXZeQ8Y,1828
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
103
  datacontract/templates/datacontract.html,sha256=dksPEnY3c66jaaVS5r5vWfG6LzyXPjA4nO_yLUirJWg,17394
101
104
  datacontract/templates/datacontract_odcs.html,sha256=-k6v_ddMkQ6HPbj0_c6SmP3LfesRVsjvSVt4EpOfzpg,32849
@@ -109,9 +112,9 @@ datacontract/templates/partials/model_field.html,sha256=2YBF95ypNCPFYuYKoeilRnDG
109
112
  datacontract/templates/partials/quality.html,sha256=ynEDWRn8I90Uje-xhGYgFcfwOgKI1R-CDki-EvTsauQ,1785
110
113
  datacontract/templates/partials/server.html,sha256=dHFJtonMjhiUHtT69RUgTpkoRwmNdTRzkCdH0LtGg_4,6279
111
114
  datacontract/templates/style/output.css,sha256=ioIo1f96VW7LHhDifj6QI8QbRChJl-LlQ59EwM8MEmA,28692
112
- datacontract_cli-0.10.28.dist-info/licenses/LICENSE,sha256=23h64qnSeIZ0DKeziWAKC-zBCt328iSbRbWBrXoYRb4,2210
113
- datacontract_cli-0.10.28.dist-info/METADATA,sha256=upaNExf2_V8dD4-NOnANj_TEO1RmrjRZmZCj4_U1yAY,110246
114
- datacontract_cli-0.10.28.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
115
- datacontract_cli-0.10.28.dist-info/entry_points.txt,sha256=D3Eqy4q_Z6bHauGd4ppIyQglwbrm1AJnLau4Ppbw9Is,54
116
- datacontract_cli-0.10.28.dist-info/top_level.txt,sha256=VIRjd8EIUrBYWjEXJJjtdUgc0UAJdPZjmLiOR8BRBYM,13
117
- datacontract_cli-0.10.28.dist-info/RECORD,,
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,,