Skip to main content

A human-centred, teachable data wrangling and pipeline framework.

Project description

WowData™

PyPI version Python versions Coverage

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

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

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

wowdata-0.2.1.tar.gz (55.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wowdata-0.2.1-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

File details

Details for the file wowdata-0.2.1.tar.gz.

File metadata

  • Download URL: wowdata-0.2.1.tar.gz
  • Upload date:
  • Size: 55.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wowdata-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3b3312332fee616cc313b0dda9a80b25abdf29d9ff4d97f22f145e6a5fdd3fe7
MD5 cd043b10c37541b8fd20e5c8e7688b99
BLAKE2b-256 200e330c2c0815d0b98225183cc7df1fbdba6c9be373e81f3ee64ab8fb0dfd7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for wowdata-0.2.1.tar.gz:

Publisher: publish.yml on sci2pro/wowdata

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wowdata-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: wowdata-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 67.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wowdata-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c51c8cc12e91bef4ed3d293cbfbd6a81a18793baba9f1377989e2d15f0799e89
MD5 5b534789751037cca59f52bcf354d487
BLAKE2b-256 017ef3a2990b76cf95ba6d13f131f934cd0c446b96c1e78d3e9acc2fcae42039

See more details on using hashes here.

Provenance

The following attestation bundles were made for wowdata-0.2.1-py3-none-any.whl:

Publisher: publish.yml on sci2pro/wowdata

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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