Home

Awesome

Appmode

A Jupyter extensions that turns notebooks into web applications.

screenshots

Try it live

Binder

Click the binder badge to try it live without installing anything. This will take you directly to the "app" version of the notebook.

Installation

Conda

If you use conda, you can install it as:

conda install --channel conda-forge appmode

PyPI

If you use pip, you can install it as:

pip install appmode
jupyter nbclassic-extension enable --py --sys-prefix appmode
jupyter server    extension enable --py --sys-prefix appmode

If you want to use mybinder add the following environment.yml file to your repository:

channels:
  - conda-forge
dependencies:
  - appmode

Description

Appmode consist of a server-side and a notebook extension for Jupyter. Together these two extensions provide the following features:

Server Side Configuration

Appmode adds the following configuration options:

Writing hidden files is by default disabled in newer versions of Jupyter. To allow Appmode to hide its temporary notebook copies the option ContentsManager.allow_hidden has to be set:

jupyter notebook --ContentsManager.allow_hidden=True

Client Side Customization

The UI elements of Appmode can be customized via the custom.js file. Some examples are:

$('#appmode-leave').hide();                          // Hides the edit app button.
$('#appmode-busy').hide();                           // Hides the kernel busy indicator.
$('#appmode-loader').append('<h2>Loading...</h2>');  // Adds a loading message.

Beware that hiding the edit button does not prevent users from leaving Appmode by changing the URL manually.

Development

With the included Dockerfile a development environment can be quickly created:

  1. Install Docker.
  2. git clone this repository
  3. docker build --tag appmode_dev ./
  4. docker run --init -ti -p127.0.0.1:8888:8888 appmode_dev
  5. Browse to http://localhost:8888/apps/example_app.ipynb

Acknowledgements

Appmode has been developed with the support of the NCCR MARVEL funded by the Swiss National Science Foundation.