Skip to main content

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


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.8.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

price_val_engine-0.1.8-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file price-val-engine-0.1.8.tar.gz.

File metadata

  • Download URL: price-val-engine-0.1.8.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for price-val-engine-0.1.8.tar.gz
Algorithm Hash digest
SHA256 77c1490aa89baf04bfa6a01837c4d97b82536102a240f6b4b278d2f3cbb706d0
MD5 00f61223b6fa5a4aa4cff5dec4ed960c
BLAKE2b-256 134e5d020283904c22d844818eb831ab220efcb7b3133cc404db05ea21afc74c

See more details on using hashes here.

File details

Details for the file price_val_engine-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for price_val_engine-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 bc8aca80c1e0e3df03f53f1bb8dc8e753868d4250c5d1291dbdc3f5b3d196503
MD5 51823891e4083f84e718c67474130783
BLAKE2b-256 65b96ea4d10cc2020ad338d28796ad602668ea49cfed0471ca37e7e1b1f0eb65

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page