Repository navigation
π Version 0.6.0
Release date: August 26, 2026
pip install --upgrade streamlit-pivot
π Highlights
- Custom member grouping lets you roll raw dimension values into named groups β territories, product bundles, ad-hoc segments β from Python or from the header menu.
collapse_row_groups=Truestarts hierarchy (and table-with-subtotals) views collapsed, the same as Collapse All in the toolbar.suppress_warnings=Truehides informational banners (virtualization, hybrid execution reason, compute time) while still recording them inperf_metrics.- Virtualized tables keep header, body, and Grand Total columns aligned, size the row-header column from its labels, and ellipsize overflow instead of painting into the next column.
- Hybrid mode caches aggregation results across display-only reruns so changing layout or warnings does not re-aggregate.
π Configuration and interaction
- New
member_groupsparameter combines one or more raw dimension members into a named group shown in the pivot instead of the individual members. - In interactive mode, each dimension header menu exposes Create Groups / Edit Groups. Active groups appear as FilterBar chips and in the Settings Panel, with per-group remove and per-field clear.
- New
collapse_row_groupsparameter (bool, defaultFalse) folds all collapsible row groups on first load. Users can expand interactively; persisted state is restored on reruns. No effect with fewer than two row dimensions, or when groups are not collapsible (show_subtotals=Falseandrow_layoutis not"hierarchy"). - Expand and collapse now move one level at a time. Collapsing a parent records the levels beneath it, so expanding it reveals the next level rather than the whole subtree. Collapse All and
collapse_row_groupsshare that rule. - The hierarchy row-header column is resizable, matching table layout.
π Analysis features
- Member groups are applied before aggregation, so subtotals and totals reflect the grouped members.
- Changing
member_groupsinvalidates the sidecar cache and triggers a server re-aggregate inthreshold_hybridmode. - Groups cannot nest (a group name cannot be a member of another group).
π Display and formatting
- New
suppress_warningsparameter (bool, defaultFalse) hides informational warning banners inside the component. Banners that mean the table is showing incomplete data β row truncation and column-cardinality cap β are always shown. Warning text remains inresult["perf_metrics"]["warnings"]. - Virtualized tables use a shared
colgroupwidth contract across header, body, and totals so columns stay aligned above the 5,000-cell DOM budget. - Column windowing is reserved for tables with more than 200 columns, avoiding stretched columns on typical wide-but-not-huge pivots.
- Column resize starts from the declared width rather than the stretched on-screen measurement.
- The row-header column is sized from its dimension names and labels (capped) so hierarchy breadcrumbs and city names are not crushed into 120px by default.
- Row-header labels that still do not fit ellipsize; the full text is available on hover.
πββοΈ Performance and reliability
- Aggregation results in
threshold_hybridmode are memoized across display-only reruns. - Member-group application was optimized, with updated performance baselines.
- Automated coverage was expanded for grouping, collapse/expand, virtualized column alignment, and warning suppression.