Skip to content

feat(polars): default pinned_rows include ?filtered_histogram#830

Merged
paddymul merged 1 commit into
mainfrom
feat/polars-filtered-histogram-pinned
May 21, 2026
Merged

feat(polars): default pinned_rows include ?filtered_histogram#830
paddymul merged 1 commit into
mainfrom
feat/polars-filtered-histogram-pinned

Conversation

@paddymul
Copy link
Copy Markdown
Collaborator

Summary

Adds an optional ?filtered_histogram pinned row to polars's default styling. The ? prefix (#777) means JS hides the row when no column has the filtered_histogram key in merged_sd, so a no-filter widget keeps a one-line [dtype, histogram] header. When the user runs a search, filtered_histogram gets layered onto each column's entry in merged_sd (#785) and the row renders.

Polars-only on purpose:

Changes

  • New pinned_filtered_histogram() helper in styling_helpers, mirroring the existing pinned_histogram().
  • New PolarsMainStyling(DefaultMainStyling) in polars_buckaroo overrides pinned_rows to [dtype, histogram, ?filtered_histogram] and replaces DefaultMainStyling in local_analysis_klasses.

Test plan

Config-only — no behavior tests. The optional-pinned-row plumbing (#777) is already exercised by gridUtils.test.ts (isOptionalPinnedKey + stripOptionalPinnedKey). Manually verified in JupyterLab that the row appears when a search is active and is hidden otherwise.

🤖 Generated with Claude Code

Adds an optional ``?filtered_histogram`` pinned row to polars's default
styling. The ``?`` prefix (#777) means JS hides the row when no column
has the ``filtered_histogram`` key in ``merged_sd``, so a no-filter
widget keeps a one-line ``[dtype, histogram]`` header. When the user
runs a search, ``filtered_histogram`` gets layered onto each column's
merged_sd entry (#785) and the row renders.

Polars-only on purpose:
- xorq skips computing ``filtered_histogram`` entirely (this PR's
  ``skip_stats_by_scope``), so the optional row never appears.
- Pandas keeps the original ``[dtype, histogram]`` default.

New ``pinned_filtered_histogram()`` helper in ``styling_helpers``,
mirroring the existing ``pinned_histogram()``. New
``PolarsMainStyling(DefaultMainStyling)`` in ``polars_buckaroo``
overrides ``pinned_rows`` and replaces ``DefaultMainStyling`` in
``local_analysis_klasses``.

Config-only — no behavior tests, just a new default in the styling
pipeline. The optional-pinned-row plumbing (#777) is already
exercised by ``gridUtils.test.ts``.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@paddymul paddymul added the triaged Reviewed and triaged label May 21, 2026
@github-actions
Copy link
Copy Markdown
Contributor

📦 TestPyPI package published

pip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.14.3.dev26252871907

or with uv:

uv pip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.14.3.dev26252871907

MCP server for Claude Code

claude mcp add buckaroo-table -- uvx --from "buckaroo[mcp]==0.14.3.dev26252871907" --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo-table

📖 Docs preview

🎨 Storybook preview

@paddymul paddymul added this pull request to the merge queue May 21, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks May 21, 2026
@paddymul paddymul added this pull request to the merge queue May 21, 2026
Merged via the queue into main with commit 4bffed4 May 21, 2026
48 of 50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triaged Reviewed and triaged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant