aws-samples / aws-samples/sagemaker-studio-lifecycle-config-examples
[New sample] S3 Browser extension install
- 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
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