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.3.0.tar.gz (57.2 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.3.0-py3-none-any.whl (68.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for wowdata-0.3.0.tar.gz
Algorithm Hash digest
SHA256 469c53f468aec977b13b6932c4dd56c23121932c96cf79a47b45ef9babd80b35
MD5 ebeb3552a51ffa61bf5a5d5136a28e8b
BLAKE2b-256 981506795862422aad6f79f3ed23fd24dbe4ffb6015e0af31ab5130ecc8c3e53

See more details on using hashes here.

Provenance

The following attestation bundles were made for wowdata-0.3.0.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: wowdata-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 68.5 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b655d1e15b47c43b12051ff2f9b8df990d78832110fb6301e9224b68a004924
MD5 1e84d0b884fab3f854278722d89d0d44
BLAKE2b-256 5e63379f2ab0e684104d6d6fd2338911b8c1f7edbf8cbbb84150f5b5a42d2930

See more details on using hashes here.

Provenance

The following attestation bundles were made for wowdata-0.3.0-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