Skip to content
Development documentation. The PyPI package predates these APIs. Install from GitHub instead: pip install 'increment @ git+https://github.com/kylejcaron/increment.git' Keep any extras requested by the guide, such as increment[dashboard].

Optional dashboard (`increment.dashboard`)

increment.dashboard is an optional presentation layer over one bound experiment: section-level mo.Html helpers and thin adapters over the public Analysis and CoefTable APIs. Install it with pip install "increment[dashboard]"; core Increment, estimation, power, and the dataframe entry points never import marimo, CoefTable, or pandas through this package. See the dashboard guide for the caller-owned source/config/prepare/render recipe, supported experiment shapes, and statistical disclosures.

DashboardConfig(expected_allocation, title, source_label, provenance, metric_units)

Display configuration a caller supplies alongside their Analysis.

DashboardSnapshot(experiment_name, binding_fingerprint, title, description, start, end, control_group, treatment_group, primary_metric, metrics, breakouts, estimates, readout_rows, allocation, allocation_refusal, allocation_history, allocation_history_refusal, config, computed_at, group_data)

One prepared reading of an experiment: metadata, allocation, results.

Read-only by construction. It holds no connection and is not a portable analysis format; reprepare from the source instead of persisting it.

increment.dashboard.ExploreView is the exported literal type "cumulative_lift" | "daily_values" | "cumulative_values" | "segments", accepted by load_explore and render_explore.

prepare_dashboard(analysis, config)

Run the headline analysis once and capture it as a read-only snapshot.

This is the only place the dashboard computes results. Display controls downstream never recompute; reexecuting the source cell is an intentional new snapshot. The caller keeps ownership of analysis and its connection: nothing here closes or replaces them.

dashboard_styles()

The packaged, scoped stylesheet as one style block.

Read from package data, so an installed wheel needs no stylesheet path and no repository checkout.

render_header(snapshot)

Experiment identity, analysis policy, and the headline summary.

render_health(snapshot)

The allocation and caveat section, shown above the results.

render_results(snapshot)

The whole declared family, its readout table, and its disclosures.

render_metric_details(snapshot, metric)

Definition, tested tail, policy, and observed group evidence for one metric.

load_explore(analysis, snapshot, metric, view, completed_windows_only, breakout)

Load exactly the one advanced view a caller asked for.

A thin dispatch over the public readout API. It never reruns the headline family, the allocation check, or materialization, so changing a display control cannot change a verdict. metric=None selects every declared metric in snapshot order; a metric name selects just that metric.

render_explore(snapshot, data, metric, view, completed_windows_only)

The requested CoefTable view, with context and unavailable-point reasons.

render_details(snapshot)

Declared policy and optional provenance, with no source access.

readout_csv(snapshot)

Export every unrounded headline row; unavailable numbers stay empty.

Formula markers after leading whitespace and control-prefixed strings receive an apostrophe for safe human-facing downloads.

group_data_csv(snapshot, metric)

Export exactly the rows returned by :func:group_data_rows.