Beyond local notebooks: Colab, Voila and Quarto
Hosted notebooks for zero setup, Voila for turning a notebook into a dashboard, Quarto for publishing, and the cases where a notebook is the wrong tool.
Hosted notebooks
| Option | Runs on | Watch out for |
|---|---|---|
| Google Colab | Hosted VM, optional GPU | Ephemeral storage; the runtime is recycled after idle time |
| GitHub Codespaces / dev containers | Your repository, reproducible image | Cost and startup time |
| JupyterHub | Your own cluster | You operate authentication and resource limits |
| Binder | Public images built from a repo | Not for private data; builds are slow and public |
Hosted notebooks remove installation friction, which is genuinely valuable for teaching and for one-off GPU work. They also move your data to someone else's machine, which is a decision, not a detail.
Voila: notebook as application
pip install voila
# hide code cells, show only widgets and outputs
voila dashboard.ipynb --no-browser --port 8866# tag cells so Voila and nbconvert know what to hide
# View > Cell Toolbar > Tags, then add: hide-input
# or in a cell:
from IPython.display import display, Markdown
display(Markdown("# Sales dashboard"))- Voila executes the notebook on every request, so keep the startup path fast and cache expensive work.
- Widgets keep working because a kernel is still attached; this is why it is the natural home for a widget-heavy notebook.
- It is a small application server, not an analysis environment: there is no editor, and each visitor runs the notebook.
Quarto, and when to stop using notebooks
quarto render report.qmd --to html
quarto render report.qmd --to pdf
quarto preview report.qmdQuarto renders Markdown with embedded code chunks into HTML, PDF, Word or slides from a single source, with proper cross-references, citations and a table of contents. For anything that will be read repeatedly by people who do not run code, it is usually a better fit than an .ipynb.
Choose a notebook when the value is the interactive session: exploring data, iterating on a model, teaching. Choose a script or package when the value is the result: scheduled jobs, services, reusable logic. Choose Quarto or a static report when the value is the document. Mixing those purposes in one file is what makes notebooks hard to maintain.
FAQ
Is Colab suitable for work with customer data?
Can I turn a notebook into a scheduled job without a rewrite?
Related
Widgets and interactive output Markdown, LaTeX and rich output
Last refreshed 2026-09-18.