All Projects → inbo → Pywhip

inbo / Pywhip

Licence: mit
💂‍♂️ Python package to validate data against whip specifications

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pywhip

Dry Schema
Coercion and validation for data structures
Stars: ✭ 249 (+4880%)
Mutual labels:  data-validation
form-binder-java
Java port of form-binder, a micro data binding and validating framework
Stars: ✭ 29 (+480%)
Mutual labels:  data-validation
Laravel Recaptcha
Google ReCaptcha package for Laravel
Stars: ✭ 273 (+5360%)
Mutual labels:  data-validation
objectiv-analytics
Powerful product analytics for data teams, with full control over data & models.
Stars: ✭ 399 (+7880%)
Mutual labels:  data-validation
deepchecks
Test Suites for Validating ML Models & Data. Deepchecks is a Python package for comprehensively validating your machine learning models and data with minimal effort.
Stars: ✭ 1,595 (+31800%)
Mutual labels:  data-validation
changeset
(unreleased) Data validation with first-class and first-order labels in OCaml
Stars: ✭ 28 (+460%)
Mutual labels:  data-validation
Cerberus
Lightweight, extensible data validation library for Python
Stars: ✭ 2,640 (+52700%)
Mutual labels:  data-validation
Pointblank
Data validation and organization of metadata for data frames and database tables
Stars: ✭ 480 (+9500%)
Mutual labels:  data-validation
pyvaru
Rule based data validation library for python 3.
Stars: ✭ 17 (+240%)
Mutual labels:  data-validation
Validus
A dead simple Python string validation library.
Stars: ✭ 257 (+5040%)
Mutual labels:  data-validation
form-binder
A micro data binding and validating framework, very easy to use and hack
Stars: ✭ 18 (+260%)
Mutual labels:  data-validation
check-engine
Data validation library for PySpark 3.0.0
Stars: ✭ 29 (+480%)
Mutual labels:  data-validation
data-validator
A tool to validate data built around Apache Spark.
Stars: ✭ 66 (+1220%)
Mutual labels:  data-validation
minimallist
A minimalist data driven data model library, inspired by Clojure Spec and Malli.
Stars: ✭ 63 (+1160%)
Mutual labels:  data-validation
Openapi Cop
A proxy that validates responses and requests against an OpenAPI document.
Stars: ✭ 338 (+6660%)
Mutual labels:  data-validation
Data Cleaning 101
Data Cleaning Libraries with Python
Stars: ✭ 243 (+4760%)
Mutual labels:  data-validation
validation-components
A collection of common validation predicates for ValidationToolkit framework
Stars: ✭ 26 (+420%)
Mutual labels:  data-validation
Pandera
A light-weight, flexible, and expressive pandas data validation library
Stars: ✭ 506 (+10020%)
Mutual labels:  data-validation
Xtypejs
Elegant, highly efficient data validation for JavaScript.
Stars: ✭ 357 (+7040%)
Mutual labels:  data-validation
validada
Another library for defensive data analysis.
Stars: ✭ 29 (+480%)
Mutual labels:  data-validation

pywhip

The pywhip package is a Python package to validate data against whip specifications, a human and machine-readable syntax to express specifications for data.

Build Status

Build Status

Updates

Check the documentation pages for more information.

Installation

To install pywhip, run this command in your terminal:

pip install pywhip

For more detailed installation instructions, see the documentation pages.

Test pywhip in jupyter notebook

Launch a jupyter notebook to interactively try out the pywhip package:

Binder

Quickstart

To validate a CSV data file with the field headers country, eventDate and individualCount, write whip specifications, according to the whip syntax:

specifications = """
    country:
       allowed: [BE, NL]
    eventDate:
        dateformat: '%Y-%m-%d'
        mindate: 2016-01-01
        maxdate: 2018-12-31
    individualCount:
        numberformat: x  # needs to be an integer value
        min: 1
        max: 100
    """

To whip your data set, e.g. my_data.csv, pass the data to whip specifications:

from pywhip import whip_csv

example = whip_csv("my_data.csv", specifications, delimiter=',')

and write the output report to an html file:

with open("report_example.html", "w") as index_page:
    index_page.write(example.get_report('html'))

Resulting in a report like this. For a more detailed introduction, see the documentaton tutorial.

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Validation of data rows is using the Cerberus package.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].