validations-engine


Namevalidations-engine JSON
Version 2.0.0 PyPI version JSON
download
home_pagehttps://github.com/quintoandar/validations-engine
SummaryEngine for creating and running validation suites for general purposes
upload_time2023-11-16 13:17:43
maintainer
docs_urlNone
authorQuintoAndar
requires_python>=3.7, <4
license
keywords python validations validations-engine
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Validations Engine
_Engine for creating and running validations for general purposes._

<img height="200" src="validations_engine_logo.png" />

[![Release](https://img.shields.io/github/v/release/quintoandar/validations-engine)]((https://pypi.org/project/validations-engine/))
![Python Version](https://img.shields.io/badge/python-3.7%20%7C%203.8-brightgreen.svg)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

| Source    | Downloads                                                                                                       | Page                                                 | Installation Command                       |
|-----------|-----------------------------------------------------------------------------------------------------------------|------------------------------------------------------|--------------------------------------------|
| **PyPi**  | [![PyPi Downloads](https://pepy.tech/badge/validations-engine)](https://pypi.org/project/validations-engine/) | [Link](https://pypi.org/project/validations-engine/)        | `pip install validations-engine `                  |

### Build status
| Develop                                                                     | Stable                                                                            | Documentation                                                                                                                                           | Sonar                                                                                                                                                                                                  |
|-----------------------------------------------------------------------------|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ![Test](https://github.com/quintoandar/validations-engine/workflows/Test/badge.svg) | ![Publish](https://github.com/quintoandar/validations-engine/workflows/Publish/badge.svg) | [![Documentation Status](https://readthedocs.org/projects/validations-engine/badge/?version=latest)](https://validations-engine.readthedocs.io/en/latest/?badge=latest) | [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=quintoandar_validations-engine&metric=alert_status)](https://sonarcloud.io/dashboard?id=quintoandar_validations-engine) |


### Purpose
This automation engine was conceived to simulate key communication/integration lines between services that compose the 
core jobs of the data engineering pipeline at QuintoAndar, to guarantee there is no failures in the pipeline (and **early catch** eventual failures).
But it can execute validations for general purposes.

### Structure and the engine core concepts 

This engine is composed by the Executors and the ValidationSuites. 

**Executors**

Executors are responsible for executing all the respective validation suites that inherit them. 
A suite can inherit a custom executor or the `BaseValidationSuitesExecutor`.
The executor may contain default and generic code and tests for a group of suites. For example, we may have one executor 
with features for validating a group of *Databases* and another for validating some *APIs*.

**Validation Suites**

A validation suite works like a Python unit test class. Once you define the validation methods (following the name pattern), 
these methods will be run by the engine.

Inside the validation suite class, you may implement into the validation methods the validations you want to perform.
You can implement a custom validation inside your suite or if it is a common validation you may want to generalize it 
and use a custom executor like `DatabaseValidationSuitesExecutor` for sharing the same validation among other suites that inherits it. 
Every suite must inherit from an executor, in order to be parsed and run. So it should inherit from the 
`BaseValidationSuitesExecutor` or from a custom one (that inherits from the base executor). 

The `validation_*` methods inside the suite and inside the executor classes will run automatically by the validation engine.


To check library main features and full documentation you can check the [Validations Engine's Documentation](https://validations-engine.readthedocs.io/en/latest/), which is hosted by Read the Docs.

## License
[Apache License 2.0](https://github.com/quintoandar/validations-engine/blob/main/LICENSE)

## Contributing
All contributions are welcome! Feel free to open Pull Requests. Check the development and contributing **guidelines** 
described in [CONTRIBUTING.md](https://github.com/quintoandar/validations-engine/blob/main/CONTRIBUTING.md)

Made with :heart: by the **Data Engineering** team from [QuintoAndar](https://github.com/quintoandar/)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/quintoandar/validations-engine",
    "name": "validations-engine",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7, <4",
    "maintainer_email": "",
    "keywords": "python,validations,validations-engine",
    "author": "QuintoAndar",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/6d/f2/13b986e2ca77da4d02d48054abc6f9323443818da59a7aff48a6ead408ef/validations_engine-2.0.0.tar.gz",
    "platform": null,
    "description": "# Validations Engine\n_Engine for creating and running validations for general purposes._\n\n<img height=\"200\" src=\"validations_engine_logo.png\" />\n\n[![Release](https://img.shields.io/github/v/release/quintoandar/validations-engine)]((https://pypi.org/project/validations-engine/))\n![Python Version](https://img.shields.io/badge/python-3.7%20%7C%203.8-brightgreen.svg)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n| Source    | Downloads                                                                                                       | Page                                                 | Installation Command                       |\n|-----------|-----------------------------------------------------------------------------------------------------------------|------------------------------------------------------|--------------------------------------------|\n| **PyPi**  | [![PyPi Downloads](https://pepy.tech/badge/validations-engine)](https://pypi.org/project/validations-engine/) | [Link](https://pypi.org/project/validations-engine/)        | `pip install validations-engine `                  |\n\n### Build status\n| Develop                                                                     | Stable                                                                            | Documentation                                                                                                                                           | Sonar                                                                                                                                                                                                  |\n|-----------------------------------------------------------------------------|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ![Test](https://github.com/quintoandar/validations-engine/workflows/Test/badge.svg) | ![Publish](https://github.com/quintoandar/validations-engine/workflows/Publish/badge.svg) | [![Documentation Status](https://readthedocs.org/projects/validations-engine/badge/?version=latest)](https://validations-engine.readthedocs.io/en/latest/?badge=latest) | [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=quintoandar_validations-engine&metric=alert_status)](https://sonarcloud.io/dashboard?id=quintoandar_validations-engine) |\n\n\n### Purpose\nThis automation engine was conceived to simulate key communication/integration lines between services that compose the \ncore jobs of the data engineering pipeline at QuintoAndar, to guarantee there is no failures in the pipeline (and **early catch** eventual failures).\nBut it can execute validations for general purposes.\n\n### Structure and the engine core concepts \n\nThis engine is composed by the Executors and the ValidationSuites. \n\n**Executors**\n\nExecutors are responsible for executing all the respective validation suites that inherit them. \nA suite can inherit a custom executor or the `BaseValidationSuitesExecutor`.\nThe executor may contain default and generic code and tests for a group of suites. For example, we may have one executor \nwith features for validating a group of *Databases* and another for validating some *APIs*.\n\n**Validation Suites**\n\nA validation suite works like a Python unit test class. Once you define the validation methods (following the name pattern), \nthese methods will be run by the engine.\n\nInside the validation suite class, you may implement into the validation methods the validations you want to perform.\nYou can implement a custom validation inside your suite or if it is a common validation you may want to generalize it \nand use a custom executor like `DatabaseValidationSuitesExecutor` for sharing the same validation among other suites that inherits it. \nEvery suite must inherit from an executor, in order to be parsed and run. So it should inherit from the \n`BaseValidationSuitesExecutor` or from a custom one (that inherits from the base executor). \n\nThe `validation_*` methods inside the suite and inside the executor classes will run automatically by the validation engine.\n\n\nTo check library main features and full documentation you can check the [Validations Engine's Documentation](https://validations-engine.readthedocs.io/en/latest/), which is hosted by Read the Docs.\n\n## License\n[Apache License 2.0](https://github.com/quintoandar/validations-engine/blob/main/LICENSE)\n\n## Contributing\nAll contributions are welcome! Feel free to open Pull Requests. Check the development and contributing **guidelines** \ndescribed in [CONTRIBUTING.md](https://github.com/quintoandar/validations-engine/blob/main/CONTRIBUTING.md)\n\nMade with :heart: by the **Data Engineering** team from [QuintoAndar](https://github.com/quintoandar/)\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Engine for creating and running validation suites for general purposes",
    "version": "2.0.0",
    "project_urls": {
        "Homepage": "https://github.com/quintoandar/validations-engine"
    },
    "split_keywords": [
        "python",
        "validations",
        "validations-engine"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2fec86da4ef3e367be5b3bd74dcf18f0c554d12b6a4dd2630420cf1c03956ca9",
                "md5": "f7ffb6ad10cc010d18aa1934aff3851d",
                "sha256": "d00e30d7c1e0b6f149d640c61993cd934b94e33016cf642992b981d5c9be14a6"
            },
            "downloads": -1,
            "filename": "validations_engine-2.0.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f7ffb6ad10cc010d18aa1934aff3851d",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.7, <4",
            "size": 8129,
            "upload_time": "2023-11-16T13:17:42",
            "upload_time_iso_8601": "2023-11-16T13:17:42.491453Z",
            "url": "https://files.pythonhosted.org/packages/2f/ec/86da4ef3e367be5b3bd74dcf18f0c554d12b6a4dd2630420cf1c03956ca9/validations_engine-2.0.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6df213b986e2ca77da4d02d48054abc6f9323443818da59a7aff48a6ead408ef",
                "md5": "7559c8117f954eeb17fe9202bae2ff3d",
                "sha256": "1547093f38efeedbf20bf9da3d39bdfc1b3166253489e4d2381e6ed0447d52d5"
            },
            "downloads": -1,
            "filename": "validations_engine-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7559c8117f954eeb17fe9202bae2ff3d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7, <4",
            "size": 6763,
            "upload_time": "2023-11-16T13:17:43",
            "upload_time_iso_8601": "2023-11-16T13:17:43.690868Z",
            "url": "https://files.pythonhosted.org/packages/6d/f2/13b986e2ca77da4d02d48054abc6f9323443818da59a7aff48a6ead408ef/validations_engine-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-16 13:17:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "quintoandar",
    "github_project": "validations-engine",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "validations-engine"
}
        
Elapsed time: 2.69672s