← Back to portfolio Python Analytics Playground preview
Stack
Pythonpandas / NumPyMatplotlibpytestuv
Impact
  • Modular load / clean / EDA / viz / pipeline modules with pytest coverage ≥80%
  • Single end-to-end pipeline runnable as `python -m python_analytics`
  • Requirements traced to a PRD (REQ-002 … REQ-006), tests tied to requirements
  • uv + ruff tooling, synthetic data for demo runs
Source View on GitHub → Updated: Sep 3, 2026

Python Analytics Playground

Context

In product analytics, most tasks start the same way: load an export, clean it, look at distributions and correlations, show charts. This project turns that routine into reusable modules — so every new analysis starts not from scratch, but from a tested foundation.

Data & Method

Package layout (src/python_analytics/):

  • load.py (REQ-002) — CSV loading into a DataFrame with basic checks.
  • clean.py (REQ-003) — missing values, duplicates, type coercion.
  • eda.py (REQ-004) — descriptive stats, missingness, correlations.
  • viz.py (REQ-005) — histograms, correlation heatmaps.
  • pipeline.py (REQ-006) — end-to-end pipeline runnable as python -m python_analytics.

Each module covers a single requirement from the PRD (docs/prd.md), and the tests in tests/ check exactly those requirements — coverage ≥80%.

Run

uv sync --all-groups
uv run pytest                          # tests + coverage (≥80%)
uv run python -m python_analytics      # end-to-end pipeline

Findings

The key difference from one-off analysis scripts is structure and testability: modules are small and single-purpose, requirements are documented in a PRD, and tests keep coverage ≥80%. This makes the tool “product-grade”: you can hand it to teammates, extend it, and not fear breaking it.

Impact

  • Reusability — a starting point for every new analysis instead of a from-scratch script.
  • Coverage ≥80% — changes don’t silently break existing behavior.
  • PRD tracing — each module maps to a requirement, tests verify requirements.
  • uv tooling — reproducible environment with no dependency drift.

Documentation

See also

Connection map

Projects, posts and topics connected to this one. Hover a node to see its name; click to open.