一个JupyterLab扩展,它启用了客户端驱动访问。
项目描述
jupydrive-s3
驱动器作为文件系统使用,支持所有基本功能(文件树视图、编辑内容、复制、重命名、删除、下载等)。
该扩展是使用官方JavaScript AWS SDK
构建的。
驱动器兼容性
目前,该扩展仅支持S3
驱动器。
配置
设置CORS
规则
由于该扩展在浏览器中工作,因此需要为S3
存储桶设置某些CORS
(跨源资源共享)规则
http://localhost:*
需要添加到AllowedOrigins
部分,GET
、PUT
、DELETE
、HEAD
需要添加到AllowedMethods
部分。
需求
- JupyterLab >= 4.0.0
安装
要安装扩展,执行
pip install jupydrive_s3
卸载
要删除扩展,执行
pip uninstall jupydrive_s3
贡献
开发安装
注意:构建扩展包需要NodeJS。
jlpm
命令是JupyterLab安装的yarn的固定版本。您可以使用yarn
或npm
代替下面的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。
打包扩展
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。