May 2026 · Creator
pyobservablejs
pyobservablejs brings Observable’s reactive cells and browser libraries into Python notebooks. Python supplies the data, while JavaScript inputs and charts update together in the browser.

I wanted to keep Python’s data tools and Observable’s way of composing an interface. A slider, a transformation, and a chart become cells connected by named values, using the browser’s JavaScript libraries and HTML directly.
Notebook Kit, Observable’s notebook runtime, runs those cells and recomputes their dependents when an input changes. Python can embed the whole notebook or selected cells, update its data, and read results back.
Filter four records
Adjust the range control to filter the records and redraw the bars. This interaction stays in the browser after Python supplies the data.