跳转到主要内容

一个JupyterLab扩展,它启用了客户端驱动访问。

项目描述

jupydrive-s3

Github Actions Status 一个JupyterLab扩展,它启用了客户端驱动访问。

Screenshot from 2024-05-06 15-22-59

驱动器作为文件系统使用,支持所有基本功能(文件树视图、编辑内容、复制、重命名、删除、下载等)。

该扩展是使用官方JavaScript AWS SDK 构建的。

驱动器兼容性

目前,该扩展仅支持S3驱动器。

配置

设置CORS规则

由于该扩展在浏览器中工作,因此需要为S3存储桶设置某些CORS(跨源资源共享)规则

  • http://localhost:*需要添加到AllowedOrigins部分,
  • GETPUTDELETEHEAD需要添加到AllowedMethods部分。

有关CORS的更多信息在此,以及配置它的各种方法在此

需求

  • JupyterLab >= 4.0.0

安装

要安装扩展,执行

pip install jupydrive_s3

卸载

要删除扩展,执行

pip uninstall jupydrive_s3

贡献

开发安装

注意:构建扩展包需要NodeJS。

jlpm命令是JupyterLab安装的yarn的固定版本。您可以使用yarnnpm代替下面的jlpm

# Clone the repo to your local environment
# Change directory to the jupydrive_s3 directory
# Install package in development mode
pip install -e "."
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm build

您可以在不同的终端中同时监视源目录并运行JupyterLab,以监视扩展源代码的变化并自动重新构建扩展。

# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm watch
# Run JupyterLab in another terminal
jupyter lab

当监视命令运行时,每次保存的更改都将立即在本地构建并可供正在运行的JupyterLab使用。刷新JupyterLab以在浏览器中加载更改(您可能需要等待几秒钟以重新构建扩展)。

默认情况下,jlpm build命令为此扩展生成源映射,使其更容易使用浏览器开发工具进行调试。要同时为JupyterLab核心扩展生成源映射,可以运行以下命令

jupyter lab build --minimize=False

本地环境变量

对于扩展的本地开发,使用环境变量来定义所需的存储桶名称、区域和端点,以及访问密钥ID和密钥,同时还有定义不同根文件夹的额外可能性。

.env.example文件重命名为.env,并用您本地配置所需的价值更新它。

注意:除非另行配置,否则S3存储桶端点应遵循以下格式:https://s3.<bucket-region>.amazonaws.com

开发模式卸载

pip uninstall jupydrive_s3

在开发模式下,您还需要删除jupyter labextension develop命令创建的符号链接。要找到其位置,可以运行jupyter labextension list以确定labextensions文件夹的位置。然后您可以在该文件夹中删除名为jupydrive-s3的符号链接。

测试扩展

前端测试

此扩展使用Jest进行JavaScript代码测试。

要执行它们,请执行

jlpm
jlpm test

集成测试

此扩展使用Playwright进行集成测试(也称为用户级测试)。更具体地说,JupyterLab辅助Galata用于在JupyterLab中测试扩展。

更多详细信息请参阅ui-tests的README。

打包扩展

RELEASE

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

jupydrive_s3-0.1.0a3.tar.gz (281.8 kB 查看哈希)

上传时间

构建分布

jupydrive_s3-0.1.0a3-py3-none-any.whl (135.5 kB 查看哈希)

上传于 Python 3

由以下支持