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

Uploaded Source

File details

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

File metadata

  • Download URL: price-val-engine-0.1.2.tar.gz
  • Upload date:
  • Size: 11.3 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.2.tar.gz
Algorithm Hash digest
SHA256 ab0efaec9ee3381424980552c28b19f7340d9ae99c2d720a516e069d7c2c2ae8
MD5 6838bd9254dc554f500651f6c994accd
BLAKE2b-256 67a0219fb88adf445025fff9ea112dbbc2086b304b35f6e53c8447be46a91434

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