last price revision validation rules
Project description
Price Validation Engine
Overview
Price Validation Engine is framework to create skeleton to validate last price revision
requirements
- python 3.6+
- Linux, MacOS, windows
install
pip install price-val-engine
Start Project
python -m price_val_engine startproject project_name
Project template structure
- base_dir
- project_name
- __init__.py
- settings.py
- validtion_rules.py
- run.py
Run project
python run.py --input=input.csv --output=output.csv
input as s3 csv file
python run.py --input=s3://bucket_name/path/input.csv --output=s3://bucket_name/path/input.csv
settings.py
-
default validation pipeline
VALIDATION_PIPELINES = [ 'price_val_engine.core.validations.general_rules.NullNegativeZeroValidationRule', 'price_val_engine.core.validations.general_rules.OutOfRangeValidationRule', 'price_val_engine.core.validations.revision_rules.DeltaPercentageFromLastDayRule', ]
Add new custom validation rule
- step 1 you can define your custom validtion rules in the file `project_name/validation_rules.py`
class MyValidationRule(BaseRule)
name = "validation_rules.myvalidation_rule"
message = "price could not be gte {max_price}"
severity = ''
def is_valid(self, item):
max_price = 50
if item['price'] >= max_price:
self.message.format(max_price)
self.severity = 'HIGH' # you can define severity LOW, MEDIUM and HIGH
- step 2 add your newly defined rule in `setting.py`
VALIDATION_PIPELINES = [
...,
'project_name.validation_rules.MyValidationRule
]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
price-val-engine-0.1.4.tar.gz
(12.1 kB
view details)
File details
Details for the file price-val-engine-0.1.4.tar.gz.
File metadata
- Download URL: price-val-engine-0.1.4.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b3c56d101360743bc07a23ce976b8e2035b91eb3a51289761540114a6c7ddf3
|
|
| MD5 |
2c6371ae33a6cd101b24cfce44ac3c37
|
|
| BLAKE2b-256 |
a887a262e63151f2a6265fb76433287ddbb112a880aecd6dac801bab1d6297ef
|