Value Stream is a configuration-driven, aggregate-first business intelligence platform. It ingests file-based exports (typically Pega CDH Interaction History and Product Holdings), reduces them to small mergeable sufficient statistics, and serves business reports and dashboards only from those persisted aggregates. Aggregate-first is the preferred storage shape and strict query contract; a bounded processor may retain minimal, versioned, non-queryable acceleration state when exact ingestion would otherwise require repeated source scans.
The docs are the spec and live in docs/, organized by
tutorials, guides, concepts, and reference, with role-based reading paths on
the home page. Serve them locally with uv run mkdocs serve.
- Documentation home — start here; pick your reading path
- Getting started tutorial — clean clone to first queried metric
- Architecture and domain model
- Replacement design — master design (storage, DSL, APIs)
- CLI reference
Requires Python 3.11+ and uv.
uv sync --all-extras
uv run valuestream --help
uv run valuestream validate examples/demoexamples/demo ships its catalog only; the
getting started tutorial shows how to
generate demo data, run ingestion, query metrics, and serve the UI:
uv run valuestream run examples/demo
uv run valuestream query examples/demo VS_Engagement_Rate --by Channel --grain Day
uv run valuestream serve examples/demo --port 8501 --headlessFor a larger legacy-migration example, examples/fat contains a catalog-only
FAT workspace with two sources, all currently viable aggregate-first processor
families for those sources, and broad business KPI/report coverage. See its
workspace notes before supplying source exports.
uv run ruff check .
uv run ruff format --check .
uv run python scripts/mypy_gate.py
uv run pytest -m "not bench and not slow"
uv run mkdocs build --strictMypy analyzes all source modules against an exact reviewed diagnostic baseline.
When an intentional typing fix changes that set, review the diff and refresh it
with uv run python scripts/mypy_gate.py --update.
This project is licensed under the MIT License.