跳转到主要内容

一个用于探索AiiDA数据库的JupyterLab扩展。

项目描述

jlab_aiidatree [IN-DEVELOPMENT]

Github Actions Status Binder

A JupyterLab extension for exploring AiiDA databases. This is extension is intended to provide similar functionality for exploring graphs as the VS Code AiiDA Explorer extension

  • 查看进程
  • 按进程状态筛选
  • 展开进程及其传入/传出节点
  • 查看存储在数据库上的节点属性
  • 使用D3 Graph可视化节点图
  • 使用ThreeJS可视化StructureData

Example

此扩展由一个名为 jlab_aiidatree 的Python包(服务器扩展)和一个名为 jlab_aiidatree 的NPM包(前端扩展)组成。

安装

要安装扩展,执行

pip install jlab_aiidatree

或与aiida-core一起使用

pip install jlab_aiidatree[aiida]
reentry scan

用法

连接到AiiDA

您可以通过以下两种方式之一连接到AiiDA实例

  1. 直接使用与jupyterlab(默认)安装在同一环境中的aiida-core
  2. 通过提供AiiDA REST API的AiiDA实例。

要启动AiiDA REST服务器,首先必须使用带有rest额外依赖项安装aiida-core

pip install aiida-core[rest]~=1.6
reentry scan

最好将它安装在与您的jupyterlab安装不同的环境中,以避免依赖冲突。

然后您可以启动REST服务器

$ verdi restapi -H 127.0.0.5 -P 6789
* REST API running on http://127.0.0.5:6789/api/v4

要连接到此服务器,只需将rest_url设置更改为此URL

Settings

:::{参见} https://aiida.readthedocs.io/projects/aiida-core/zh/latest/howto/share_data.html?highlight=REST#launching-the-rest-api ::

:::{重要} URL 与 JupyterLab 的服务器端连接,即您托管它的位置,而不仅仅是您的本地机器。 ::

卸载

要删除扩展,请执行

pip uninstall jlab_aiidatree

要求

  • JupyterLab >= 3.0

故障排除

如果您看到前端扩展,但它不起作用,请检查服务器扩展是否启用

jupyter server extension list

如果服务器扩展已安装并启用,但您看不到前端扩展,请检查前端扩展是否已安装

jupyter labextension list

即将推出的功能

  • 查看计算机和附加代码
  • 查看组和附加节点

贡献

开发安装

注意:您将需要 NodeJS 来构建扩展包,例如

conda create -n jupyterlab-ext --override-channels --strict-channel-priority -c conda-forge -c anaconda jupyterlab=3 nodejs jupyter-packaging aiida-core~=1.6
conda activate jupyterlab-ext
reentry scan

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

# Clone the repo to your local environment
# Change directory to the jlab_aiidatree directory
# Install package in development mode
pip install -e .
# 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 jlab_aiidatree
# Rebuild extension Typescript source after making changes
jlpm run build

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

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

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

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

jupyter lab build --minimize=False

开发卸载

# Server extension must be manually disabled in develop mode
jupyter server extension disable jlab_aiidatree
pip uninstall jlab_aiidatree

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

部署

请参阅 https://jupyterlab.pythonlang.cn/en/stable/extension/extension_tutorial.html#packaging-your-extension

  1. 更新 package.json 中的版本键

  2. 重新构建包:jlpm run build

  3. 确保所有代码审查和测试都通过

  4. 构建发行版

    pip install build
    rm -rf dist
    python -m build -s
    python -m build
    
  5. 使用 twine 上传到 PyPI

    pip install twine
    twine upload --skip-existing dist/*
    

项目详情


下载文件

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

源分发

jlab_aiidatree-0.2.0.tar.gz (1.8 MB 查看散列)

上传时间

构建分发

jlab_aiidatree-0.2.0-py3-none-any.whl (2.5 MB 查看散列)

上传时间 Python 3

由以下组织支持