aws-samples / aws-samples/sagemaker-studio-lifecycle-config-examples

[New sample] S3 Browser extension install

Open
#18 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Shell
Stars
88
Forks
54
PR merge metrics
No merged PRs in 30d

Description

The [jupyterlab-s3-browser](https://github.com/IBM/jupyterlab-s3-browser) extension is useful for browsing Amazon S3 buckets and objects from within the SageMaker Studio UI - and was one of the tools specifically called out in the [Studio JupyterLab v3 launch blog](https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-studio-and-sagemaker-notebook-instance-now-come-with-jupyterlab-3-notebooks-to-boost-developer-productivity/).

S3 Browser was originally drafted for inclusion alongside LSP-related features (also mentioned in the blog) in #14 - but review requested it be separated out. Raising this issue to track the ask.

The extension is not particularly challenging to install in JLv3 (`pip install jupyterlab-s3-browser`), but can cause pip to overwrite default installed botocore/aiobotocore versions which could have unintended, adverse consequences.

I've been working around that with a script something like:

```bash
# Since pip can sometimes fail to take all installed packages into account, we'll look up and
# specify the current botocore/boto3 versions to avoid pip breaking things:
BOTO3_VER=`pip show boto3 | grep 'Version:' | sed 's/Version: //'`
BOTOCORE_VER=`pip show botocore | grep 'Version:' | sed 's/Version: //'`

pip install jupyterlab-s3-browser \
boto3==$BOTO3_VER \
botocore==$BOTOCORE_VER
```

Was hoping to draft something quickly for this to work in both JLv3 and JLv1 (since early versions of the extension appear to pre-date even JLv2), but have been struggling to try and get the installation working properly on SMStudio JLv1.

Contributor guide

Open the contributing guide

Research direction

No target file or test is named. Start by testing the documented `pip install jupyterlab-s3-browser` flow and the shown boto3/botocore version-pinning script in SageMaker Studio JupyterLab v1 and v3; done means a lifecycle-config sample installs the extension without breaking the existing AWS package versions in both environments.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, jupyter-notebook, shell
Domain
cloud, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.