A minimal Jupyter Notebook UI for p5.js kernels.
p5-screencast-1.webm
β¨ Try it in your browser! β¨
By default, the p5 notebook opens with the simpler notebook interface.
p5-screencast-1.webm
The JupyterLab interface is still accessible via the View > Open in JupyterLab
menu entry:
p5-screencast-2.webm
With the JupyterLab interface, .html
files can be edited and rendered live with the built-in HTML viewer:
p5-screencast-3.webm
The p5 notebook includes the default JupyterLab Light and Dark themes, as well as p5.js
branded light and dark themes:
p5-screencast-4.webm
Just like with JupyterLab, the p5 notebook also supports additional display languages like French and Simplified Chinese:
p5-screencast-5.webm
Most of the JupyterLab and Jupyter Notebook features are also available, such as switching to the Simple Interface and opening the command palette:
p5-screencast-6.webm
Coming soon!
This repo includes a couple of additional plugins to tweak the Jupyter UI. To setup a local environment and be able to iterate on them, make sure Node.js is installed, then:
# install dependencies
pixi install
# Install package in development mode
pixi run develop
# Rebuild the extension Typescript source after making changes
pixi run build
-
nb5.js, a notebook for p5js sketches (proof of concept): https://github.com/aparrish/nb5js-proof-of-concept
-
p5.js Jupyter Widget: https://github.com/jtpio/ipyp5
-
[archived / demo] p5.js in the Classic Jupyter Notebook with Jupyter Widgets: https://github.com/jtpio/p5-jupyter-notebook
-
Jupyter Kernels, right inside JupyterLab: https://github.com/deathbeds/jyve
-
JupyterLite has:
- Python kernel backed by Pyodide running in a Web Worker
- Initial support for interactive visualization libraries such as altair, bqplot, ipywidgets, matplotlib, and plotly
- JavaScript and P5.js kernels running in an IFrame
- Python kernel backed by Pyodide running in a Web Worker