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


Download files

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

Source Distribution

multicontentsmanager-0.0.1.tar.gz (286.7 kB view hashes)

Uploaded Source

Built Distribution

multicontentsmanager-0.0.1-py2.py3-none-any.whl (29.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page