Repolode
oschuett

oschuett/appmode

A Jupyter extension that runs notebooks as web apps by hiding code cells and auto-executing them on open.

Stars
463
Forks
69
Open issues
4
Last commit
9 days ago

What is it?

Appmode is a server-side and notebook extension for Jupyter that lets a notebook be presented as a web application rather than an editable document. Opening a notebook in app mode runs all of its code cells automatically, then hides the code and makes markdown cells read-only, so end users see only the output and interface.

Each app-mode session gets a temporary copy of the notebook and its own IPython kernel, so the same notebook can be opened by several users without interfering with each other. When the page is closed, the kernel is shut down and the temporary copy is removed. The current URL is exposed as the variable jupyter_notebook_url, which allows passing information between notebooks through URL parameters.

Server options control the trusted notebook path, the visibility of the edit and other buttons, and the directory for temporary notebooks. The UI can be further customized through a custom.js file. It is installable via conda or pip, and it can run on mybinder.

Key features

  • 01Opens any notebook as an app with code cells hidden and executed automatically.
  • 02Gives each app session its own temporary notebook copy and kernel.
  • 03Supports direct app URLs such as /apps/foo.ipynb.
  • 04Offers server options for trusted paths and button visibility.
  • 05Allows UI customization through custom.js.

Use cases

  • Sharing a data analysis notebook with non-technical users as an interactive page.
  • Publishing a notebook-based tool so visitors can run it without seeing the code.
  • Hosting demo notebooks on mybinder for people to try without installing anything.

Quick start

  1. 1

    Install from PyPI with pip

    pip install appmode
  2. 2

    Enable the notebook extension

    jupyter nbclassic-extension enable --py --sys-prefix appmode
  3. 3

    Enable the server extension

    jupyter server extension enable --py --sys-prefix appmode

Things to know

  • Writing hidden temporary notebook copies requires enabling ContentsManager.allow_hidden in newer Jupyter versions.

In collections

Topics

FAQ

What is appmode?
A Jupyter extension that runs notebooks as web apps by hiding code cells and auto-executing them on open. Appmode is a server-side and notebook extension for Jupyter that lets a notebook be presented as a web application rather than an editable document. Opening a notebook in app mode runs all of its code cells automatically, then hides the code and makes markdown cells read-only, so end users see only the output and interface.
Is appmode free to use? What license does it have?
appmode is open source under the MIT license. Check the license terms before using it in commercial products.
Is appmode still maintained?
Actively maintained. The last commit to appmode was on Oct 29, 2026.
What can I use appmode for?
Sharing a data analysis notebook with non-technical users as an interactive page. Publishing a notebook-based tool so visitors can run it without seeing the code. Hosting demo notebooks on mybinder for people to try without installing anything.
How do I install appmode?
Install from PyPI with pip: pip install appmode Enable the notebook extension: jupyter nbclassic-extension enable --py --sys-prefix appmode Enable the server extension: jupyter server extension enable --py --sys-prefix appmode
Where can I get appmode?
The source code and installation instructions are on GitHub: https://github.com/oschuett/appmode

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects