Skip to content

Try in Jupyter (in your browser)

The handbook ships with a full JupyterLab environment that runs entirely in your browser via the Pyodide WebAssembly distribution of CPython. No installation, no account, no server: everything executes on your machine inside the browser tab.

Launch JupyterLab Open the file browser

What is preloaded

  • Python 3.11 (Pyodide build)
  • NumPy, SciPy, Matplotlib, ipywidgets
  • One ready-to-run notebook per substantial chapter:
Chapter Notebook
Chapter 0 · Mathematics from Scratch ch00-math.ipynb
Chapter 1 · Python and Scientific Computing ch01-python.ipynb
Chapter 3.5 · Solid State Prerequisites ch03b-solid-state.ipynb
Chapter 4 · Quantum Mechanics ch04-quantum.ipynb
Chapter 5 · Density Functional Theory ch05-dft.ipynb
Chapter 7 · Molecular Dynamics ch07-md.ipynb
Chapter 8 · Statistical Mechanics ch08-statmech.ipynb
Chapter 11 · Active Learning and Bayesian Optimisation ch11-active.ipynb

What runs and what does not

JupyterLite uses the Pyodide kernel, which is a port of CPython to WebAssembly. The pure-Python and Fortran-free scientific stack works well (NumPy, SciPy, Matplotlib, scikit-learn, pandas, sympy, networkx, ipywidgets). Packages that wrap large native compiled codes do not run in the browser:

  • ASE, pymatgen, MACE, NequIP, PyTorch, TensorFlow, JAX
  • LAMMPS, GROMACS, Quantum ESPRESSO, VASP
  • anything that requires a GPU

For these chapters (6 on running DFT, 9 on MLIPs, 10 on GNNs, 12 on foundation models) we keep the "Open in Colab" route, where a free Linux VM with the full stack is one click away.

Privacy and persistence

Every notebook you edit is saved to your browser's local storage. Nothing leaves your machine. Clearing your browser data will wipe the notebooks; download a copy from the JupyterLab file menu first if you want to keep them.

Reporting issues

If a notebook fails to load or a cell crashes the kernel, please open an issue at the GitHub repository with the browser name, version and a screenshot of the JupyterLab console.