Skip to main content

This is a JupyterLab extension that allows users to explore and interact with cloud storage services.

Project description


BXplorer Logo

A JupyterLab extension that provides a UI to operate objects in a cloud storage service.


Contents


Why?

We decided to work on BXplorer after reviewing other JupyterLab extensions to operate objects in cloud storage services (Google, Azure, AWS). The extensions we have reviewed work really well. After making an inventory of the changes we might need to do to some of them we realized that we would basically need to modify them so much that we might end up with an entirely new extension and/or modifying JupyterLab's FileBrowser component and end up with a customized version so we decided to start from scratch and offer this new extension to the community hoping it is useful.

We wanted to use a different approach handling AWS credentials. We also wanted to show more information such as object size, modification date, cross account buckets (AWS), etc.


Installation

You cna use pip to install this extension:

pip install jupyterlab-bxplorer

or

git clone https://github.com/Navteca/jupyterlab-bxplorer.git
cd jupyterlab-bxplorer/
npm install
python -m build
pip install jupyterlab_bxplorer-<version>-py3-none-any.whl

if the installation process runs successfully, check if the extension has been activated:
jupyter labextension list
jupyter serverextension list

If not, you might need to run:
jupyter labextension enable --py jupyterlab_bxplorer
jupyter serverextension enable --py jupyterlab_bxplorer

Usage

Once the extension is installed, you will notice a new small telescope icon on the left panel. Clicking on it will expand the panel and you will notice 3 tabs: Private, Public and Favorites.

  • Private: will list all the buckets your AWS Credentials, Role/Service Account give you access to.
  • Public: shows also a dropdown menu with a few options (AWS, Google, Microsoft) when selecting any of those options you will notice the list of storage objects shown changes. The extension pulls the information from those public repositories.
  • Favorites: is used to keep those cloud storage objects you want to have access to quickly. Additionally you can add external objects.

The extension will take the AWS credentials as described here. In one of our instances we use an AWS Role with a Service Account which makes it easier to manage permissions and so on.

There are a few ways to configure the AWS Credentials in a GNU/Linux or GNU/Linux-like environments:

In the Favorites tab there is a button Add bucket that allows you to add a cross-account bucket. These are buckets that per default will not appear in the Private tab because they belong to another account.


Current Status

We are in a very early stage in terms of all the features we want to add to the extension to be even with other extensions. Currently you can do the following:

  • List private storage objects
    • AWS
    • Google
    • Azure
  • List public storage objects
    • AWS
    • Google
    • Azure
  • Add external/cross-account storage objects to Favorites list
    • AWS
    • Google
    • Azure
  • Add folders-like objects inside storage objects to the Favorites list
  • Remove storage objects from Favorites list
  • Download storage objects
    • AWS
    • Google
    • Azure
  • Show cross-account storage objects
    • AWS
    • Google
    • Azure
  • Show storage object's information (metadata)
    • AWS
    • Google
    • Azure
  • Show downloads panel
  • Automatic update of downloads panel
  • Responsiveness improvements of both Browser and Downloads panel
  • Copy storage object path
    • AWS
    • Google
    • Azure
  • Upload object to a storage object
    • AWS
    • Google
    • Azure
  • Tests
  • Documentation

Want to contribute?

First of all, thank you for taking the time to contribute!

Do you find this extension useful, with potential to be great and you like writing code? Please, don't hesitate to contribute. There is so much to do from improving an already existing feature, implement a new one to fixing bugs, etc.

There are a couple ways you can contribute to the extension:

  • Opening issues: you can open an issue either to report a bug, request an enhancement, ask a question, suggest a new feature, etc.
  • Pull Requests: This would be awesome. We suggest you to open an issue or comment an issue before creating the Pull Request.

The extension uses a modified version of the Chonky File Browser as its main component. You can find the modified version here.

We are working on a contributor document and guidelines with additional information you might to work on the extension.


Found an issue? Have suggestions?

Please open an issue, we would like to hear from you.


Licensing

BSD 3-Clause License


Notes for your consideration

  • This project is in early stage. We are continuously working on it to make it better.
  • Chonky is the main component of the extension and we are going to continue modifying it to get it to fit better in this project.
  • This is the first extension we put out there. We are aware we have so much to learn from the FLOSS communities and that is one of the reasons we why decided to publish it.

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

jupyterlab_bxplorer-0.1.24.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

jupyterlab_bxplorer-0.1.24-py3-none-any.whl (3.7 MB view details)

Uploaded Python 3

File details

Details for the file jupyterlab_bxplorer-0.1.24.tar.gz.

File metadata

  • Download URL: jupyterlab_bxplorer-0.1.24.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for jupyterlab_bxplorer-0.1.24.tar.gz
Algorithm Hash digest
SHA256 c0452d4f075adf609fd1c67a8e91e00a180c70645200a95dbe736750ba31b7ee
MD5 a5bfb8b6d3dc8fdab583b3b04c162458
BLAKE2b-256 8b387f64f4f51256d13c6299daac8465b28863e7f45f48ef4213850199d7f551

See more details on using hashes here.

File details

Details for the file jupyterlab_bxplorer-0.1.24-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_bxplorer-0.1.24-py3-none-any.whl
Algorithm Hash digest
SHA256 f19ee92cc84b1d3e9be2d69b1440c3aa5995bf3d9de580ce9619f8b985f282e1
MD5 569acddc3c83f7e0f1592be98512351c
BLAKE2b-256 055f2f373ff513f34d113cdbe4c5c275964ae4c2d89b773c430cd68e96aa7153

See more details on using hashes here.

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