# DataMesh
> A collection of tools for Data Mesh architectural approach.
## Data Contract Validation
The library can be used to validate your .yaml data contract against Open Data Contract Standard JSON schema from [Bitol-io / open-data-contract-standard](https://github.com/bitol-io/open-data-contract-standard/)
### Installation
```
pip install -U datamesh
```
### Usage
```bash
data-contract-validation <path_to_contract_yaml_file> <optional_path_to_standards_json_schema>
```
or in Python
```python
from datamesh.contract import Validator
validation_errors = (
Validator(
contract="examples/all/postgresql-adventureworks-contract.yaml",
standard="schema/odcs-json-schema.json"
)
.print_report()
.errors
)
```
```
🚩 Validation errors:
.
│
├──[]
│ └── 'datasetName' is a required property
│
├──[]
│ └── 'quantumName' is a required property
│
├──['kind']
│ └── 'managedDataset' is not one of ['DataContract']
```
### [Streamlit App](https://datamesh.streamlit.app/)
[](https://datamesh.streamlit.app/)
## Contribution
Feel free to contribute to the project under free and open-source GPLv3 license.
## Resources
- [Open Data Contract Standard (ODCS)](https://github.com/bitol-io/open-data-contract-standard)
- [PayPal open sources its data contract template](https://jgp.ai/2023/05/01/paypal-open-sources-its-data-contract-template/)
Raw data
{
"_id": null,
"home_page": "https://github.com/georgegach/DataMesh",
"name": "DataMesh",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Giorgi Gachechiladze",
"author_email": "georgegach@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/17/2f/a29a049a29764adc4403c42053ea01667b75fee7a6f39b7c0236626742e2/DataMesh-0.1.2.tar.gz",
"platform": null,
"description": "# DataMesh\n> A collection of tools for Data Mesh architectural approach.\n\n\n## Data Contract Validation\nThe library can be used to validate your .yaml data contract against Open Data Contract Standard JSON schema from [Bitol-io / open-data-contract-standard](https://github.com/bitol-io/open-data-contract-standard/) \n\n\n### Installation\n```\npip install -U datamesh\n```\n\n### Usage\n```bash\ndata-contract-validation <path_to_contract_yaml_file> <optional_path_to_standards_json_schema>\n```\n\nor in Python\n```python\nfrom datamesh.contract import Validator\n\nvalidation_errors = (\n Validator(\n contract=\"examples/all/postgresql-adventureworks-contract.yaml\",\n standard=\"schema/odcs-json-schema.json\"\n )\n .print_report()\n .errors\n)\n```\n```\n\ud83d\udea9 Validation errors:\n.\n\u2502\n\u251c\u2500\u2500[]\n\u2502 \u2514\u2500\u2500 'datasetName' is a required property\n\u2502\n\u251c\u2500\u2500[]\n\u2502 \u2514\u2500\u2500 'quantumName' is a required property\n\u2502\n\u251c\u2500\u2500['kind']\n\u2502 \u2514\u2500\u2500 'managedDataset' is not one of ['DataContract']\n```\n\n### [Streamlit App](https://datamesh.streamlit.app/)\n[](https://datamesh.streamlit.app/)\n\n\n## Contribution\n\nFeel free to contribute to the project under free and open-source GPLv3 license. \n\n\n## Resources\n\n- [Open Data Contract Standard (ODCS)](https://github.com/bitol-io/open-data-contract-standard)\n- [PayPal open sources its data contract template](https://jgp.ai/2023/05/01/paypal-open-sources-its-data-contract-template/)\n\n",
"bugtrack_url": null,
"license": "",
"summary": "A collection of tools for Data Mesh architectural approach.",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/georgegach/DataMesh"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9a6bc27053be386cd17dc54b4ec3565c16abbf1d3c0d10c1050dcf13ab7878aa",
"md5": "270792967a8135a56bac2116bdfe5412",
"sha256": "769d2e3ba00e2072797cc76c07100b34f37d961cc37618f8faad451278362fb3"
},
"downloads": -1,
"filename": "DataMesh-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "270792967a8135a56bac2116bdfe5412",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 21294,
"upload_time": "2024-01-03T15:05:23",
"upload_time_iso_8601": "2024-01-03T15:05:23.601275Z",
"url": "https://files.pythonhosted.org/packages/9a/6b/c27053be386cd17dc54b4ec3565c16abbf1d3c0d10c1050dcf13ab7878aa/DataMesh-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "172fa29a049a29764adc4403c42053ea01667b75fee7a6f39b7c0236626742e2",
"md5": "d1c950e116423537969a05484ba18434",
"sha256": "9908768fdc83b815f423d626c9256502f909ebc0e942d0d7095f118a934f7747"
},
"downloads": -1,
"filename": "DataMesh-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "d1c950e116423537969a05484ba18434",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 21581,
"upload_time": "2024-01-03T15:05:25",
"upload_time_iso_8601": "2024-01-03T15:05:25.143697Z",
"url": "https://files.pythonhosted.org/packages/17/2f/a29a049a29764adc4403c42053ea01667b75fee7a6f39b7c0236626742e2/DataMesh-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-03 15:05:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "georgegach",
"github_project": "DataMesh",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pyyaml",
"specs": [
[
"==",
"6.0"
]
]
},
{
"name": "jsonschema",
"specs": [
[
"==",
"4.18.4"
]
]
}
],
"lcname": "datamesh"
}