Skip to main content

Python package to validate data against whip specifications

Project description

pywhip

Build Status Build Status Updates

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

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.

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

Uploaded Source

Built Distribution

pywhip-0.3.4-py2.py3-none-any.whl (18.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pywhip-0.3.4.tar.gz.

File metadata

  • Download URL: pywhip-0.3.4.tar.gz
  • Upload date:
  • Size: 56.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.7

File hashes

Hashes for pywhip-0.3.4.tar.gz
Algorithm Hash digest
SHA256 ee30d5182e34bbeb54dc6db06a784a770c41eff2f945b5ab09653821eba5f471
MD5 7aca6f0339424d3dc8888bdd6aed6a7c
BLAKE2b-256 f6c94021d1c7f09d4ec9442a0f324a64f39552106ed4537a6a0c0224f73e3483

See more details on using hashes here.

File details

Details for the file pywhip-0.3.4-py2.py3-none-any.whl.

File metadata

  • Download URL: pywhip-0.3.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.7

File hashes

Hashes for pywhip-0.3.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e88be204092ecb95ab24d65bfa7bd8163ff1f310a1403898460c2e943ed5faa7
MD5 88a8725448063732ac0d643822e6d201
BLAKE2b-256 15dda88f9f164f85ac787715a86425d5d4f46ef6ec8fdf39bf1ee648959b326c

See more details on using hashes here.

Supported by

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