A complete, beautiful, production-ready static website to showcase and run your Python notebook entirely in the browser using JupyterLite and WebAssembly.
Your project should look like this:
.
├── .github/
│ └── workflows/
│ └── deploy.yml <-- GitHub Action for 1-click deployment!
├── static/
│ ├── script.js <-- Site interactivity & animations
│ └── style.css <-- Custom Tailwind + UI Styles
├── index.html <-- Beautiful Landing Page
├── jupyter-lite.json <-- Environment configuration
├── python_notebook.ipynb <-- 🚨 YOUR NOTEBOOK GOES HERE 🚨
├── requirements.txt <-- Required pip packages for Pyodide
└── README.md
- Replace the notebook: Delete the placeholder
python_notebook.ipynband upload your real Google Colab notebook into this repository. Make sure it is named exactlypython_notebook.ipynb. (If your notebook has a different name, rename it OR update theindex.htmlline whereiframe.src = 'lab/index.html?path=python_notebook.ipynb') - Update requirements: Open
requirements.txtand ensure every package your notebook uses (likenumpy,pandas,scipy) is listed there. Pyodide will use this to preload the environment.
This project is built to rely on JupyterLite's GitHub Action builder. You do not need to build anything locally!
- Create a repository on GitHub and upload all these files.
- In your GitHub repository, go to Settings > Pages.
- Under Source, change it from "Deploy from a branch" to "GitHub Actions".
- GitHub will automatically detect the
.github/workflows/deploy.ymlfile and start building your JupyterLite static site. - Wait ~2-3 minutes for the Action to complete.
- Open your GitHub Pages URL — you will see your gorgeous custom landing page, and clicking "Launch Notebook" will magically boot up JupyterLab in the browser!
To change the title, description, or subtitle, just open index.html and edit the HTML elements under <header id="hero">. It uses Tailwind CSS so you can easily modify colors by changing the classes (e.g., text-blue-500).
- Client-side execution: Zero server costs.
- Dark/Light Mode: Saves to
localStorage. - Responsive: Looks great on mobile devices.
- Shareable Hash URLs: Send people
yourwebsite.com/#notebookand it skips the hero page and loads the IDE instantly. - Toolbar: Native restart kernel and download mechanics built right into your wrapper UI.