Python package to validate data against whip specifications
Project description
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.
- Free software: MIT license
- Documentation: https://inbo.github.io/pywhip
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:
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.
======= 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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size pywhip-0.3.3-py2.py3-none-any.whl (19.1 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size pywhip-0.3.3.tar.gz (56.0 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for pywhip-0.3.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc61b7db655663fb18dc542f5376af00445009e02c9127332c407029644d1509 |
|
MD5 | a783cdc9bdeb9101edca3c6f0f9c9535 |
|
BLAKE2-256 | d8daa084f084215c17d3b670c201fa27bdc3311ed6241584f456905340f1c474 |