Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add S3 contents functionalities #2

Merged
merged 38 commits into from
Apr 24, 2024
Merged

Conversation

DenisaCG
Copy link
Member

@DenisaCG DenisaCG commented Feb 14, 2024

Use the AWS SDK to get and manipulate the contents of S3 buckets.

Functionalities added:

  • automatically connect to an S3 client using user credentials stored locally (they are extracted for those using the AWS CLI)
  • set the CORS rules for a bucket needed to make the operations work
  • list contents of a bucket, of a folder/sub-folder or retrieve contents of a file - the get function
  • create a new file or directory (including the logic to increment untitled file names)
  • delete a file or directory (including all of the files inside the directory)
  • rename a file or directory (along with the logic to automatically rename all paths for the files inside renamed directory)
  • logic to increment file names, such that the user doesn't accidentally overwrite files in case of renaming a file an existing file name
  • edit and save a file
  • copy a file or a directory to a new location within the bucket
  • upload a new file and its contents from local storage to the bucket
  • new toolbar button which allows user to switch to a new bucket
  • new toolbar button which allows user to create a new bucket (work in progress - although button exists, we might not have the possibility to set the CORS rules necessary to create a bucket)
  • support for all JLab file types (.txt, .ipynb, .csv, .pdf, .png, etc).

The current PR should add all functionalities needed such that the S3 bucket can be used as a file system in JupyterLab.

screenrecording-jupyter-drives-browser-demo.webm

@DenisaCG DenisaCG self-assigned this Feb 14, 2024
@DenisaCG DenisaCG added the enhancement New feature or request label Feb 14, 2024
@DenisaCG DenisaCG force-pushed the s3Contents branch 4 times, most recently from a870489 to c72d218 Compare February 15, 2024 22:37
@DenisaCG DenisaCG merged commit 888b6cf into QuantStack:main Apr 24, 2024
9 checks passed
@DenisaCG DenisaCG deleted the s3Contents branch April 24, 2024 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant