# wigglystuff > A collection of creative AnyWidgets for Python notebook environments like Jupyter, marimo, Shiny, and Colab. Install via `pip install wigglystuff` or `uv pip install wigglystuff`. ## Widgets - [AnnotationWidget](https://koaning.github.io/wigglystuff/reference/annotation.md): Annotation input surface with buttons, keyboard shortcuts, gamepad, and speech-to-text - [Slider2D](https://koaning.github.io/wigglystuff/reference/slider2d.md): 2D slider for x/y value selection - [BezierCurve](https://koaning.github.io/wigglystuff/reference/bezier-curve.md): Interactive arbitrary-degree Bezier curve editor with draggable control points - [CurveEditor](https://koaning.github.io/wigglystuff/reference/curve-editor.md): Chart-space curve editor with draggable knots, D3 line interpolators, closed paths, and progress output - [ChartPuck](https://koaning.github.io/wigglystuff/reference/chart-puck.md): Draggable puck overlay for matplotlib charts - [ChartMultiSelect](https://koaning.github.io/wigglystuff/reference/chart-multi-select.md): Multi-region class-labeled selection on matplotlib charts - [ChartSelect](https://koaning.github.io/wigglystuff/reference/chart-select.md): Box/lasso selection on matplotlib charts - [HeatmapSelect](https://koaning.github.io/wigglystuff/reference/heatmap-select.md): Bret Victor style parameter-space grid; hover or click a cell, or grab either axis to pin a whole row/column - [ParallelCoordinates](https://koaning.github.io/wigglystuff/reference/parallel-coords.md): HiPlot-powered parallel coordinates with brush filtering and axis reordering - [Matrix](https://koaning.github.io/wigglystuff/reference/matrix.md): Interactive matrix input - [SortableList](https://koaning.github.io/wigglystuff/reference/sortable-list.md): Drag-and-drop sortable list - [Paint](https://koaning.github.io/wigglystuff/reference/paint.md): Drawing canvas widget - [Excalidraw](https://koaning.github.io/wigglystuff/reference/excalidraw.md): Embedded Excalidraw whiteboard for shapes, arrows, text, and freehand sketches - [ThreeWidget](https://koaning.github.io/wigglystuff/reference/three-widget.md): 3D visualization with Three.js - [CubeWidget](https://koaning.github.io/wigglystuff/reference/cube-widget.md): Progressively lock three axes to select a plane, line, and point in an SVG cube - [EdgeDraw](https://koaning.github.io/wigglystuff/reference/edge-draw.md): Edge/graph drawing widget - [GridDraw](https://koaning.github.io/wigglystuff/reference/grid-draw.md): Drawable square grid for marking intersections and orthogonal unit segments - [GraphWidget](https://koaning.github.io/wigglystuff/reference/graph-widget.md): Programmatic force-directed graph visualization with named/sized/colored nodes and edges - [KeystrokeWidget](https://koaning.github.io/wigglystuff/reference/keystroke.md): Keyboard input capture - [LiveEdit](https://koaning.github.io/wigglystuff/reference/live-edit.md): Inspect one run of a Python function with source-linked loop traces - [ManimWeb](https://koaning.github.io/wigglystuff/reference/manim-web.md): Run a manim-web (browser Manim) scene from a JS string, local file, or URL - [ObservablePlot](https://koaning.github.io/wigglystuff/reference/observable-plot.md): Run Observable Plot JS from a string, local file, or URL, injecting Python variables by name - [EsmWidget](https://koaning.github.io/wigglystuff/reference/esm-widget.md): Render an inline ES module (any CDN library, e.g. motion.dev or Observable Plot) with a two-way `data` bridge to Python - [AsyncFlow](https://koaning.github.io/wigglystuff/reference/async-flow.md): Trace one async run live as a swimlane timeline of task spawn/suspend/resume/done (Python 3.12+) - [WebkitSpeechToText](https://koaning.github.io/wigglystuff/reference/talk.md): Speech-to-text input - [ColorPicker](https://koaning.github.io/wigglystuff/reference/color-picker.md): Color selection widget - [CopyToClipboard](https://koaning.github.io/wigglystuff/reference/copy-to-clipboard.md): Copy text to clipboard - [Tangle Widgets](https://koaning.github.io/wigglystuff/reference/tangle.md): Bret Victor-style tangle controls - [TangleLatex](https://koaning.github.io/wigglystuff/reference/tangle-latex.md): LaTeX formula with draggable tangle numbers/symbols - [HoverZoom](https://koaning.github.io/wigglystuff/reference/hover-zoom.md): Image hover zoom with magnified side panel - [GamepadWidget](https://koaning.github.io/wigglystuff/reference/gamepad.md): Gamepad controller input - [WebcamCapture](https://koaning.github.io/wigglystuff/reference/webcam-capture.md): Webcam image capture - [CellTour](https://koaning.github.io/wigglystuff/reference/cell-tour.md): Guided notebook tours - [ImageRefreshWidget](https://koaning.github.io/wigglystuff/reference/image-refresh.md): Auto-refreshing images - [HTMLRefreshWidget](https://koaning.github.io/wigglystuff/reference/html-refresh.md): Auto-refreshing HTML content - [ProgressBar](https://koaning.github.io/wigglystuff/reference/progress-bar.md): Progress indicator widget - [RidgelineChart](https://koaning.github.io/wigglystuff/reference/ridgeline-chart.md): Stacked waveform visualization (Joy Division style) - [TextCompare](https://koaning.github.io/wigglystuff/reference/text-compare.md): Side-by-side text comparison with match highlighting - [EnvConfig](https://koaning.github.io/wigglystuff/reference/env-config.md): Environment variable configuration with validation - [ScatterWidget](https://koaning.github.io/wigglystuff/reference/scatter-widget.md): Interactive scatter drawing for painting labeled 2D datasets (re-exported from drawdata) - [ScatterLog](https://koaning.github.io/wigglystuff/reference/scatter-log.md): Accumulate reactive x/y values into a live, optionally multi-series scatter plot - [SplineDraw](https://koaning.github.io/wigglystuff/reference/spline-draw.md): Draw scatter points with Python-computed spline curve fitting - [ApiDoc](https://koaning.github.io/wigglystuff/reference/api-doc.md): Renders API docs for Python classes and functions directly in notebooks - [PlaySlider](https://koaning.github.io/wigglystuff/reference/play-slider.md): Slider with play/pause button for auto-advancing values at a configurable pace - [FramePlayer](https://koaning.github.io/wigglystuff/reference/frame-player.md): Play a sequence of images (PIL, paths, URLs, matplotlib figures) as an inline, optionally-looping video with play/pause/loop controls and a scrubber - [CircularSlider](https://koaning.github.io/wigglystuff/reference/circular-slider.md): Circular dial slider for picking a single value, mirroring mo.ui.slider semantics - [CircularRangeSlider](https://koaning.github.io/wigglystuff/reference/circular-slider.md): Circular dial slider for picking a (low, high) span, mirroring mo.ui.range_slider semantics - [HoverSlider](https://koaning.github.io/wigglystuff/reference/hover-slider.md): Horizontal slider that reports both the committed value and a live hover value, so notebooks can preview a result before the user clicks to commit - [ForecastChart](https://koaning.github.io/wigglystuff/reference/utils.md): Time series chart with robust exponential forecast via log-linear regression - [Treemap](https://koaning.github.io/wigglystuff/reference/treemap.md): Zoomable hierarchical treemap with clickable path navigation and constructors for dicts, path strings, records, or dataframes - [NestedTable](https://koaning.github.io/wigglystuff/reference/nested-table.md): Recursive expandable table for hierarchical data with name, summed value, and share-of-total columns - [WidgetDAG](https://koaning.github.io/wigglystuff/reference/widget-dag.md): Arrange live widgets/images as a DAG (columns by edge-depth) and draw the connecting arrows; `WidgetDAG.from_widgets([...])` derives the edges from marimo's dataflow graph - [Hint](https://koaning.github.io/wigglystuff/reference/hint.md): Wrap a widget and curve an arrow from an explanatory note to its edge, so a reader can tell what is interactive and why; the note is any marimo content and hints compose into stacks, DAGs, and each other ## 3rd party widgets These widgets depend on 3rd party packages. They still ship with wigglystuff but have demos hosted on [molab](https://molab.marimo.io?utm_source=wigglystuff) because many of the dependencies are not compatible with WASM. - [AltairWidget](https://koaning.github.io/wigglystuff/reference/altair-widget.md): Flicker-free Altair chart rendering with smooth data updates via the Vega View API - [ModuleTreeWidget](https://koaning.github.io/wigglystuff/reference/module-tree.md): Interactive tree viewer for PyTorch nn.Module architecture - [Neo4jWidget](https://koaning.github.io/wigglystuff/reference/neo4j-widget.md): Interactive Neo4j graph explorer with Cypher query input, autocomplete, and lasso selection