DataMesh


NameDataMesh JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/georgegach/DataMesh
SummaryA collection of tools for Data Mesh architectural approach.
upload_time2024-01-03 15:05:25
maintainer
docs_urlNone
authorGiorgi Gachechiladze
requires_python>=3.6
license
keywords
VCS
bugtrack_url
requirements pyyaml jsonschema
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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/)
[![streamlit app screenshot](https://raw.githubusercontent.com/georgegach/DataMesh/main/docs/streamlit/streamlit-screenshot.png)](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[![streamlit app screenshot](https://raw.githubusercontent.com/georgegach/DataMesh/main/docs/streamlit/streamlit-screenshot.png)](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"
}
        
Elapsed time: 0.19022s