Skip to content

Releases: koaning/wigglystuff

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.

v0.2.14

19 Jan 14:49
1713f8a

Choose a tag to compare

Fixed

  • EnvConfig now displays values in input fields even when validation fails, so users can see what was loaded or entered rather than an empty field.
  • Removed footer color changes in EnvConfig. Individual row highlighting (green/red) is now the sole status indicator, making the UI more consistent.

0.2.13

16 Jan 17:30
9ded268

Choose a tag to compare

Added

  • New EnvConfig widget for environment variable configuration with validation. Displays a form UI for setting API keys with password-style masking, optional validator callbacks, and a require_valid() method to block execution until all variables are configured.

0.2.12

16 Jan 17:30
9ded268

Choose a tag to compare

Added

  • New TextCompare widget for side-by-side text comparison with match highlighting. Useful for plagiarism detection or finding shared passages between documents. Features hover-based highlighting that syncs between panels, configurable minimum match length via min_match_words, and programmatic access to detected matches.

0.2.11

16 Jan 17:30
9ded268

Choose a tag to compare

Added

  • New PulsarChart widget for stacked waveform visualization, inspired by the iconic PSR B1919+21 pulsar visualization from Joy Division's "Unknown Pleasures" album cover. Features include clickable rows with selection state synced back to Python, customizable overlap, stroke width, fill opacity, and peak scale.

v0.2.10

07 Jan 09:50
7ec2dd5

Choose a tag to compare

Fixed

  • Fixed "Maximum call stack size exceeded" error when rendering Slider2D widget on latest marimo. The widget had an infinite loop where model change handlers would trigger redraws that updated the model again.