WowData™
WowData™ is a human-centred data wrangling and pipeline framework designed to make real-world data cleanup understandable, teachable, and inspectable.
Install
From PyPI:
pip install wowdata
From source (editable):
git clone https://github.com/sci2pro/wowdata.git
cd wowdata
pip install -e .
Quick Start
Create a small input CSV:
person_id,age,country
1,30,KE
2,17,UG
3,41,KE
Run with Python API:
from wowdata import Pipeline, Sink, Source, Transform
pipe = (
Pipeline(Source("people.csv"))
.then(Transform("cast", params={"types": {"age": "integer"}, "on_error": "null"}))
.then(Transform("filter", params={"where": "age >= 18 and country == 'KE'"}))
.then(Sink("adults_ke.csv"))
)
pipe.run()
Run from YAML with CLI:
wow run pipeline.yaml
Fallback command if wow conflicts in your shell:
wowdata run pipeline.yaml
Repository Examples
The repository now includes runnable sample pipelines and data files under examples/.
From the repo root, you can run them directly with --base-dir so relative CSV paths resolve correctly:
wow run examples/climate_heat_events.yaml --base-dir examples
wow run examples/climate_rainfall_alerts.yaml --base-dir examples
You can also cd examples and run the same YAML files from there.
Documentation
- Philosophy: docs/philosophy.md
- Examples: EXAMPLES.md
- Reference: REFERENCE.md
- Docs site source: docs/ + mkdocs.yml
To preview docs locally:
pip install -e .[docs]
mkdocs serve
The same docs can be published to GitHub Pages (for wowdata.github.io).
Testing
Run the default local test target:
pytest
Or through tox:
tox
tox is configured to run Python 3.14 by default. If you explicitly want a different interpreter or a wider matrix, request it directly, for example:
tox -e py311
tox -e py310,py311,py312,py313,py314
Release files for wowdata 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wowdata-0.3.0.tar.gz | 57.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wowdata-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 125.7 kB
Release files / wowdata-0.3.0.tar.gz
| Download URL | wowdata-0.3.0.tar.gz |
|---|---|
| Size | 57.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
469c53f468aec977b13b6932c4dd56c23121932c96cf79a47b45ef9babd80b35
|
|
BLAKE2b-256 checksum How to use checksums |
981506795862422aad6f79f3ed23fd24dbe4ffb6015e0af31ab5130ecc8c3e53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 2, 2026.
Transparency logRelease files / wowdata-0.3.0-py3-none-any.whl
| Download URL | wowdata-0.3.0-py3-none-any.whl |
|---|---|
| Size | 68.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b655d1e15b47c43b12051ff2f9b8df990d78832110fb6301e9224b68a004924
|
|
BLAKE2b-256 checksum How to use checksums |
5e63379f2ab0e684104d6d6fd2338911b8c1f7edbf8cbbb84150f5b5a42d2930
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 2, 2026.
Transparency log