Skip to main content

A Filesystem-like mult-contents manager backend for Jupyter

Project description

jupyter-fs

A plugin for JupyterLab that lets you set up and use as many filebrowsers as you like, connected to whatever local and/or remote filesystem-like resources you want.

The backend is built on top of PyFilesystem, while the frontend is built on top of JupyterLab Filetree.

Build Status GitHub issues Coverage PyPI PyPI npm

Install

pip install jupyter-fs

Configure

Add the following to your jupyter_notebook_config.json:

{
  "NotebookApp": {
    "contents_manager_class": "jupyterfs.metamanager.MetaManager",
    "nbserver_extensions": {
      "jupyterfs": true
    }
  }
}

Use

Add specifications for additional contents managers in your user settings (in the Settings menu under Advanced Settings Editor -> jupyter-fs). Here's an example of how to set up two new views of the local filesystem:

{
  "specs": [
    {
      "name": "local_test",
      "url": "osfs:///Users/foo/test"
    },
    {
      "name": "local_jupyter-fs_repo",
      "url": "osfs:///Users/foo/git/jupyter-fs"
    }
  ]
}

where osfs stands for os filesystem. You should see your new filebrowser pop up in the left-hand sidebar instantly when you save your settings:

PyFilesystem urls

"url" is a PyFilesystem opener url. For more info on how to write these urls, see the documentation of the relevant PyFilesystem plugin:

(EXPERIMENTAL) Adding remote filesystems

Not recommended for production use: currently requires saving your credentials in plaintext

jupyter-fs also supports a wide variety of remote filesystem-like resources. Currently, only S3 and smb/samba are confirmed to work/part of the test suite. In theory, any resource supported by PyFilesystem should be supported by jupyter-fs as well.

You can set up all of these different resources side-by-side:

{
  "specs": [
    {
      "name": "osfs_jupyter-fs_repo",
      "url": "osfs:///Users/foo/git/jupyter-fs"
    },
    {
      "name": "s3_foo",
      "url": "s3://username:passwd@foo?endpoint_url=http://127.0.0.1:9000"
    },
    {
      "name": "smb_test",
      "url": "smb://username:passwd@127.0.0.1/test?name-port=3669"
    }
  ]
}

Server-side settings

If you prefer to set up your filesystem resources in the server-side config, you can do so. For example, you can set up a local filesystem by adding the following to your jupyter_notebook_config.py:

c.jupyterfs.specs = [
    {
        "name": "local_test",
        "url": "osfs:///Users/foo/test"
    },
]

Any filesystem specs given in the server-side config will be merged with the specs given in a user's settings.

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.2.tar.gz (386.2 kB view details)

Uploaded Source

Built Distribution

jupyter_fs-0.0.2-py2.py3-none-any.whl (86.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file jupyter-fs-0.0.2.tar.gz.

File metadata

  • Download URL: jupyter-fs-0.0.2.tar.gz
  • Upload date:
  • Size: 386.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.6

File hashes

Hashes for jupyter-fs-0.0.2.tar.gz
Algorithm Hash digest
SHA256 03f251d2d6f59a0f9be7ca6de45656f7bfd1a9994d519e16a09808d6d84be1b1
MD5 291f7f83e2e7e3d4aee3207737433dc6
BLAKE2b-256 0d266355710123515d22813f7a5b66c8a3011644ebc6fccc4b510dfdb79afff6

See more details on using hashes here.

File details

Details for the file jupyter_fs-0.0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: jupyter_fs-0.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 86.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.6

File hashes

Hashes for jupyter_fs-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d3434aeffa9924a7439410c0da7ec006448be2a9aa34710ad9f8f8c62afd3f62
MD5 7fe98ac5726a601b695fbe17a28a9e8e
BLAKE2b-256 13bddc3f2110b155c698a17062d1bb38f032af52c7faaeb19f11101255c85324

See more details on using hashes here.

Supported by

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