In the browser (no installation)¶
Every notebook page has a ⏻ power button. Pressing it starts a Python kernel inside your browser using Pyodide through JupyterLite. After it boots, code cells become editable and runnable. The first start downloads the Python runtime and NumPy, SciPy, and Matplotlib, so it takes a little while; later pages start faster.
For a full notebook interface, use Open in JupyterLab in the site header. Changes you make there are stored in your browser only. Download a notebook (File → Download) to keep your work.
On your own computer¶
git clone <your-repo-url> robots-that-perceive
cd robots-that-perceive
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
jupyter lab book/Building the website¶
The site is built with Jupyter Book 2, which uses the MyST engine and needs Node.js 18 or newer.
./scripts/build.sh # executes notebooks, builds HTML and the JupyterLab app
npx serve _build/html # preview at http://localhost:3000For live preview while writing, run jupyter book start.
Deploying to Cloudflare Pages¶
The build produces a static folder, _build/html, with no server needed.
npx wrangler pages deploy _build/html --project-name robots-that-perceiveAny static host (Netlify Drop, GitHub Pages, an S3 bucket) works the same way. If the site is served from a sub-path such as https://example.org/book/, set BASE_URL=/book before building.