Skip to content
This repository has been archived by the owner on Sep 15, 2018. It is now read-only.
/ multiappmode Public archive
forked from oschuett/appmode

A Jupyter extensions that turns notebooks into web applications.

License

Notifications You must be signed in to change notification settings

chestrays/multiappmode

 
 

Repository files navigation

Multi-user Appmode

A Jupyter extensions that turns notebooks into multiple-user 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

If you use pip, you can install it as:

pip install git+https://github.com/chestrays/multiappmode
jupyter nbextension     enable --py --sys-prefix appmode
jupyter serverextension enable --py --sys-prefix appmode

Description

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

  • One can view any notebook in appmode by clicking on the Appmode button in the toolbar. Alternatively one can change the url from baseurl/notebooks/foo.ipynb to baseurl/muapps/USER_NAME/foo.ipynb. This also allows for direct links into appmode.

  • When a notebook is opened in appmode, all code cells are automatically executed. In order to present a clean UI, all code cells are hidden and the markdown cells are read-only.

  • A notebook can be opened multiple times in appmode without interference. This is achieved by creating temporary copies of the notebook for each active appmode view. Each appmode view has its dedicated ipython kernel. When an appmode page is closed the kernel is shutdown and the temporary copy gets removed.

  • To allow for passing information between notebooks via url parameters, the current url is injected into the variable jupyter_notebook_url.

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.

About

A Jupyter extensions that turns notebooks into web applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 30.5%
  • JavaScript 30.3%
  • Jupyter Notebook 29.9%
  • CSS 4.7%
  • HTML 3.9%
  • Shell 0.7%