Cate JupyterLab扩展
项目描述
cate_jl_ext
此扩展允许在JupyterLab中运行Cate App。
该扩展由一个名为 cate_jl_ext
的Python包(用于服务器扩展)和一个名为 cate-jl-ext
的NPM包(用于前端扩展)组成。
注意
此扩展仍然是实验性的,尚未打包或部署。有关开发安装,请参考下面的 开发 部分。
需求
- JupyterLab >= 3.0
- cate >= 3.1.4
安装
要安装扩展,请执行
pip install cate_jl_ext
卸载
要删除扩展,请执行
pip uninstall cate_jl_ext
故障排除
如果您看到前端扩展,但它没有工作,请检查服务器扩展是否已启用
jupyter server extension list
如果服务器扩展已安装并启用,但您没有看到前端扩展,请检查前端扩展是否已安装
jupyter labextension list
开发
设置环境
请确保在专用Python环境中有一个来自 cate 的源安装。
cd ${projects}
git clone https://github.com/CCI-Tools/cate.git
cd cate
mamba env create
激活 cate
环境,并以可编辑(开发)模式安装 cate
conda activate cate
pip install -ve .
使用所需包更新环境,用于构建和运行 JupyterLab 扩展。
注意,我们开发环境中的 jupyterlab
版本应与目标系统的版本相匹配。我们还安装了 jupyter-server-proxy
。
mamba install -c conda-forge -c nodefaults jupyterlab jupyter-server-proxy
同时安装一些打包和构建工具
mamba install -c conda-forge -c nodefaults nodejs jupyter-packaging
pip install build
有关这些工具的使用,请参阅 JupyterLab 扩展教程。
从源安装扩展
确保 xcube
环境已激活
conda activate xcube
在 cate
源文件夹旁边克隆 Cate JupyterLab 扩展仓库
cd ${projects}
git clone https://github.com/CCI-Tools/cate-jl-ext.git
cd cate-jl-ext
安装初始项目依赖项,并将扩展安装到 JupyterLab 环境中。将扩展的前端部分复制到 JupyterLab。每次我们对更改进行更改以将其复制到 JupyterLab 时,都可以再次运行此 pip 安装命令。
pip install -ve .
从 JupyterLab 到我们的源目录创建一个符号链接。这意味着我们的更改将自动在 JupyterLab 中可用
jupyter labextension develop --overwrite .
如果成功,我们可以运行 JupyterLab 并检查扩展是否按预期工作
jupyter lab
更改后构建
运行以下命令以重新构建扩展。这将在更改 package.json
或前端 TypeScript 文件和其他资源后需要。
jlpm run build
如果您希望避免每次更改后构建,您可以在另一个终端中运行以下命令。
jlpm run watch
这将自动编译 TypeScript 文件,在它们更改和保存时。
贡献
开发安装
注意:您将需要 NodeJS 来构建扩展包。
jlpm
命令是 JupyterLab 随附的 yarn 的固定版本。您可以使用 yarn
或 npm
代替下面的 jlpm
。
# Clone the repo to your local environment
# Change directory to the cate_jl_ext directory
# Install package in development mode
pip install -e ".[test]"
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Server extension must be manually installed in develop mode
jupyter server extension enable cate_jl_ext
# 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
开发卸载
# Server extension must be manually disabled in develop mode
jupyter server extension disable cate_jl_ext
pip uninstall cate_jl_ext
在开发模式下,您还需要删除由 jupyter labextension develop
命令创建的符号链接。要找到其位置,您可以通过运行 jupyter labextension list
来确定 labextensions
文件夹的位置。然后您可以在该文件夹中删除名为 cate-jl-ext
的符号链接。
测试扩展
服务器测试
此扩展使用 Pytest 进行 Python 代码测试。
安装测试依赖项(只需安装一次)
pip install -e ".[test]"
# Each time you install the Python package, you need to restore the front-end extension link
jupyter labextension develop . --overwrite
要执行它们,请运行
pytest -vv -r ap --cov cate_jl_ext
前端测试
此扩展使用 Jest 进行 JavaScript 代码测试。
要执行它们,请执行
jlpm
jlpm test
集成测试
此扩展使用 Playwright 进行集成测试(也称为用户级测试)。更确切地说,JupyterLab 辅助程序 Galata 用于处理在 JupyterLab 中测试扩展。
更多详细信息请参阅 ui-tests 的 README。
打包扩展
请参阅 RELEASE
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
cate_jl_ext-0.1.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 82cbd212750201ea1933b0285dea1a5e33bd7821bf801889024f58f519f30f6d |
|
MD5 | ed91941d07b0195cf0a0cadc16de75d0 |
|
BLAKE2b-256 | c22d142210f2b1e93ad026fb325d1852ed6bdd9c0ed08297537a13aad0f48390 |
cate_jl_ext-0.1.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 600c3984c4aa968ffe5ba94bdce90327599620451e8be1547f2200f6dc6990c4 |
|
MD5 | dce8d58365474e55870499fadc07b19c |
|
BLAKE2b-256 | 10346a21d0289414596267800be1d373d4a5759a80fa666efce356869ee45a3b |