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.
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:
- S3: S3FS docs
- smb: fs.smbfs docs
(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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
03f251d2d6f59a0f9be7ca6de45656f7bfd1a9994d519e16a09808d6d84be1b1
|
|
MD5 |
291f7f83e2e7e3d4aee3207737433dc6
|
|
BLAKE2b-256 |
0d266355710123515d22813f7a5b66c8a3011644ebc6fccc4b510dfdb79afff6
|
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
d3434aeffa9924a7439410c0da7ec006448be2a9aa34710ad9f8f8c62afd3f62
|
|
MD5 |
7fe98ac5726a601b695fbe17a28a9e8e
|
|
BLAKE2b-256 |
13bddc3f2110b155c698a17062d1bb38f032af52c7faaeb19f11101255c85324
|