Validations Engine
Engine for creating and running validations for general purposes.
| Source | Downloads | Page | Installation Command |
|---|---|---|---|
| PyPi | Link | pip install validations-engine |
Build status
| Develop | Stable | Documentation | Sonar |
|---|---|---|---|
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, which is hosted by Read the Docs.
License
Contributing
All contributions are welcome! Feel free to open Pull Requests. Check the development and contributing guidelines described in CONTRIBUTING.md
Made with ❤️ by the Data Engineering team from QuintoAndar
Metadata
Release files for validations-engine 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| validations_engine-2.0.0.tar.gz | 6.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| validations_engine-2.0.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 14.9 kB
Release files / validations_engine-2.0.0.tar.gz
| Download URL | validations_engine-2.0.0.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1547093f38efeedbf20bf9da3d39bdfc1b3166253489e4d2381e6ed0447d52d5
|
|
BLAKE2b-256 checksum How to use checksums |
6df213b986e2ca77da4d02d48054abc6f9323443818da59a7aff48a6ead408ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.7.17
|
Release files / validations_engine-2.0.0-py2.py3-none-any.whl
| Download URL | validations_engine-2.0.0-py2.py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
d00e30d7c1e0b6f149d640c61993cd934b94e33016cf642992b981d5c9be14a6
|
|
BLAKE2b-256 checksum How to use checksums |
2fec86da4ef3e367be5b3bd74dcf18f0c554d12b6a4dd2630420cf1c03956ca9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.7.17
|