Skip to content

Releases: koaning/wigglystuff

v0.4.1

01 May 11:00
7a8957a

Choose a tag to compare

Changed

  • Matrix, ModuleTreeWidget, and ChartSelect now render a small "graduated to marimo core" hint in the cell when instantiated inside a marimo notebook, with a link to the equivalent marimo built-in (marimo.ui.matrix, marimo's built-in PyTorch formatter, and marimo.ui.matplotlib respectively). The widgets continue to work as before in Jupyter and other anywidget hosts.

v0.4.0

29 Apr 06:37
55fe9bb

Choose a tag to compare

Fixed

  • EnvConfig no longer syncs configured secret values in its exported anywidget state, preventing marimo static HTML exports from embedding environment-loaded or manually entered secrets.

Removed

  • WandbChart widget removed due to a security concern: marimo's static HTML export embeds all anywidget traitlets, which would leak the user-supplied api_key into any exported notebook.

v0.3.5

23 Apr 16:03
523955e

Choose a tag to compare

Added

  • Treemap widget: new hovered_path traitlet that updates as the cursor moves over rectangles, allowing Python code to react to hover without requiring a click.

v0.3.4

23 Apr 12:49
42bcb0c

Choose a tag to compare

Added

  • Treemap widget: zoomable hierarchical treemap rendered on canvas with hover previews, clickable path navigation, leaf selection, contextual recoloring during zoom, and constructors for direct {name, value, children} dicts, path mappings, records, or dataframes. Ported from the Svelte components in koaning/pytest-duration-insights.
  • NestedTable widget: recursive expandable table showing name, summed value, and share of the root total. Shares the same hierarchy shape and from_paths / from_records / from_dataframe classmethods as Treemap.

v0.3.2

10 Apr 10:46
dc71cb9

Choose a tag to compare

Added

  • ApiDoc.to_markdown() method to export API documentation as a Markdown string for use in READMEs.
  • ApiDoc signature block now has Python syntax highlighting, matching code blocks in docstrings.

Changed

  • Moved example notebooks from examples/ to demos/ folder.
  • Added infinite zoom (Droste effect) example to the docs gallery.
  • Paint toolbar icons: replaced generic pencil icons with a distinct pen (brush) and highlighter (marker) to make the tools easier to tell apart.

v0.2.20

02 Feb 13:47
3223704

Choose a tag to compare

Added

  • EnvConfig.get(name, default=None) method for dict-like access that returns a default value instead of raising KeyError.
  • Optional variables parameter to EnvConfig.require_valid() to check only a subset of configured variables, allowing some to remain unset.

v0.2.19

29 Jan 16:28

Choose a tag to compare

Added

  • New ChartSelect widget for interactive region selection on matplotlib charts. Supports box and lasso (freehand) selection modes, returns selection coordinates in data space, and includes helper methods (get_mask(), get_indices(), get_bounds(), contains_point()) for filtering data points. Also supports from_callback() factory for auto-updating charts.

v0.2.18

26 Jan 16:02
84276c2

Choose a tag to compare

Fixed

  • Removed scikit-learn from core dependencies. It was accidentally added as a required dependency but is only used by the optional ChartPuck.export_kmeans() method. Users of this method should install with pip install wigglystuff[test].

v0.2.17

26 Jan 16:02
84276c2

Choose a tag to compare

Changed

  • Breaking: ChartPuck.from_callback now passes the widget to the draw function instead of scalar coordinates. The signature changed from draw_fn(ax, x, y) to draw_fn(ax, widget), giving access to all puck positions via widget.x and widget.y lists.

Added

  • New redraw() method on ChartPuck for manually triggering chart re-renders when external state changes (e.g., dropdown selections). Only available for widgets created via from_callback().
  • Added Step, Nearest, Quadratic, and Barycentric interpolation methods to the ChartPuck spline demo.

v0.2.15

20 Jan 10:07
ea80b0d

Choose a tag to compare

Added

  • Playwright browser integration tests for SortableList widget, verifying full browser-to-Python round-trip communication. Tests cover rendering, adding/removing/editing items, and Python state synchronization.
  • New test-browser optional dependency group and CI workflow for running browser tests with marimo.

Removed

  • Removed unused pydantic-ai dependency that was pulling in openai and breaking WASM demos.