Skip to main content

Python package to validate data against whip specifications

Project description


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


Check the documentation pages for more information.


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:



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

specifications = """
       allowed: [BE, NL]
        dateformat: '%Y-%m-%d'
        mindate: 2016-01-01
        maxdate: 2018-12-31
        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:

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


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

Validation of data rows is using the Cerberus package.

======= History

0.3.2 (2018-08-27)

  • Hot fix on CLI tests

0.3.1 (2018-08-27)

  • Add CLI support to pywhip for CSV files

0.3.0 (2018-08-23)

  • Update to new whip specifications
  • Support csv and Darwin Core Archive handling
  • Add html and json reporting
  • Provide updated sphinx documentation

0.2.1 (2018-04-06)

  • Update towards new cerberus version

0.1.1 (2017-09-12)

  • First release on PyPI.
  • Package structure with CI integration
  • tox testing on multiple Python versions

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

pywhip-0.3.3.tar.gz (56.0 kB view hashes)

Uploaded source

Built Distribution

pywhip-0.3.3-py2.py3-none-any.whl (19.1 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page