Skip to content

API Overview#

Every widget in wigglystuff has its own reference page below, grouped by what it is for. Each page is generated with mkdocstrings, so docstrings and trait metadata stay in sync with the source on every release — and each one carries a live demo you can run in the browser.

Every page is also available as raw Markdown: swap the trailing / for .md, or use the link at the top of any page. llms.txt lists them all.

Sliders and scalar inputs#

  • Slider2D — 2D pointer for two coupled parameters
  • CircularSlider — circular dial for a single value or a span
  • HoverSlider — reports the committed value and the live hover value
  • PlaySlider — slider with a play/pause button that auto-advances
  • Tangle widgets — inline draggable numbers, toggles and dropdowns
  • TangleLatex — LaTeX formula with draggable numbers and symbols
  • Matrix — spreadsheet-like numeric matrix editor
  • SortableList — drag-and-drop ordering with optional CRUD
  • ColorPicker — native color input with an rgb helper

Curves#

  • BezierCurve — arbitrary-degree Bezier editor with playback
  • CurveEditor — chart-space curves via D3 line interpolators
  • SplineDraw — draw points, fit the spline in Python

Charts and plots#

Selecting on top of charts#

  • ChartPuck — draggable puck over a matplotlib chart
  • HeatmapSelect — pin a cell, a row or a column out of a parameter-space grid
  • ChartSelect — box and lasso selection on a matplotlib chart
  • ChartMultiSelect — multi-region class-labeled selection
  • ScatterWidget — paint multi-class 2D scatter data with a brush

Hierarchies and tables#

Graphs and diagrams#

  • GraphWidget — programmatic force-directed graph
  • EdgeDraw — sketch node/link diagrams and query adjacency
  • WidgetDAG — arrange live widgets as a DAG and draw the arrows
  • Neo4jWidget — Neo4j graph explorer with a Cypher query box

Drawing surfaces#

  • Paint — MS-Paint-style canvas with PIL helpers
  • Excalidraw — embedded Excalidraw whiteboard
  • GridDraw — dots on grid intersections, orthogonal segments between

3D#

Device and browser input#

Live output and tracing#

  • ImageRefreshWidget — swap an image in place without re-rendering
  • HTMLRefreshWidget — swap HTML in place without re-rendering
  • ProgressBar — progress bar you can drive from a loop
  • FramePlayer — play a sequence of images as an inline video
  • AsyncFlow — swimlane timeline of one async run (Python 3.12+)
  • LiveEdit — source-linked loop trace for one function run
  • CellTour — cell-based guided tours for marimo
  • Hint — curve an arrow from a note to the widget it explains

Images#

  • HoverZoom — image hover zoom with a magnified side panel

Escape hatches and utilities#

  • EsmWidget — inline ES module from any CDN with a two-way data bridge
  • ManimWeb — run a browser-Manim scene from JS, a file, or a URL
  • ApiDoc — render API docs for Python classes and functions
  • EnvConfig — environment variable config with validation
  • TextCompare — side-by-side text diff with match highlighting
  • CopyToClipboard — copy a payload to the OS clipboard
  • Utilsaltair2svg, forecast_chart and the refresh helpers