Skip to main content

A Filesystem-like mult-contents manager backend for Jupyter

Project description

Jupyter-FS

A filesystem-like ContentsManager backend for Jupyter. This library allows you to hook up multiple file backends to Jupyter and interact with their contents using JupyterLab Filetree.

Build Status GitHub issues Coverage PyPI PyPI npm

Install

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

Configure

Add the following to your jupyter_notebook_config.json:

{
  "NotebookApp": {
    "contents_manager_class": "jupyterfs.meta_contents_manager.MetaContentsManager",
    "nbserver_extensions": {
      "jupyterfs": 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.JupyterFS.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:

JupyterFS active with 2 managers
Installing JupyterFS 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.

Development

See CONTRIBUTING.md for guidelines.

License

This software is licensed under the Apache 2.0 license. See the LICENSE and AUTHORS files for details.

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

jupyter-fs-0.0.1.tar.gz (293.3 kB view hashes)

Uploaded Source

Built Distribution

jupyter_fs-0.0.1-py2.py3-none-any.whl (38.0 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