Skip to main content

Automatically version notebooks from JupyterLab

Project description

Multi ContentsManager

A meta ContentsManager for installing multiple backends using JupyterLab Filetree

Build Status GitHub issues Coverage PyPI PyPI npm

Install

pip install multicontentsmanager
jupyter labextension install multicontentsmanager
jupyter serverextension enable --py multicontentsmanager

Configure

Add the following to your jupyter_notebook_config.json:

{
  "NotebookApp": {
    "contents_manager_class": "multicontentsmanager.metacontentsmanager.MetaContentsManager",
    "nbserver_extensions": {
      "multicontentsmanager": true
    }
  }
}

Register additional contents managers in your jupyter_notebook_config.py. As an example, an S3Contents manager is added as follows:

from s3contents import S3ContentsManager
c.MultiContentsManager.contents_managers = \
{
    's3': S3ContentsManager
}


c.S3ContentsManager.bucket = '<your bucket>'

## SECRET
c.S3ContentsManager.access_key_id = '<your access key>'
c.S3ContentsManager.secret_access_key = '<your secret key>'


During application startup, you should see something like this in the logs:

MultiContentsManager active with 2 managers
Installing multicontentsmanager handler on path /multicontents

And in the UI, you will see your contents managers available:

We can add additional contents managers:

c.MultiContentsManager.contents_managers = \
{
    's3': S3ContentsManager,
    'file2': AbsolutePathFileManager(root_dir=os.path.expanduser("~/Downloads"))
}

Here I utilize an AbsolutePathFileManager to grab another folder on my system for use. Remember, remote filesystems are still remote, and locally you may need to move around the filesystem with a os.chdir command (or equivalent in other languages).

Here, I have the above s3 and AbsolutePathFileManager, along with the original contents manager, for a total of 3 seperate spaces.

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for multicontentsmanager, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size multicontentsmanager-0.0.1-py2.py3-none-any.whl (29.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size multicontentsmanager-0.0.1.tar.gz (286.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page