跳转到主要内容

Voilà/Jupyter客户端,用于搜索OPTIMADE数据库。

项目描述

OPTIMADE客户端(在Voilà中)

MaterialsCloud Binder

查询并导入来自OPTIMADE提供商(COD、MaterialsCloud、NoMaD、Materials Project、ODBX、OQMD等)的结构。

当前支持的OPTIMADE API版本:1.0.01.0.0-rc.21.0.0-rc.10.10.1

运行客户端

此基于Jupyter的应用程序旨在在以下环境中运行

对于AiiDAlab,请在Home App中的应用商店中安装它。

使用方法

AiiDAlab

要在自己的AiiDAlab应用程序中使用OPTIMADE结构导入器,请编写以下内容

from aiidalab_widget_base import OptimadeQueryWidget
from aiidalab_widgets_base.viewers import StructureDataViewer
from ipywidgets import dlink

structure_query = OptimadeQueryWidget()
structure_viewer = StructureDataViewer()

# Save to `_` in order to suppress output
_ = dlink((structure_query, 'structure'), (structure_viewer, 'structure'))

display(structure_query)
display(structure_viewer)

这将立即显示一个带有实现OPTIMADE API的当前结构数据库下拉菜单的查询小部件。

然后您可以根据元素、元素数量、化学式等条件过滤以找到一组结构。有关完整过滤选项及其描述,请参阅OPTIMADE API规范

为了深入了解特定结构的细节,您还可以导入并显示OptimadeResultsWidget
请参阅笔记本OPTIMADE-Client.ipynb,了解如何设置通用OPTIMADE导入器。

嵌入式

查询小部件还可以嵌入到另一个应用程序中。
为此,可以在初始化小部件时传递embedded=True来使用小部件的更“简约”版本,即structure_query = OptimadeQueryWidget(embedded=True)

其他一切工作方式相同,因此您仍然需要将查询小部件链接到您的应用程序的其他部分。

通用Jupyter笔记本

该包的小部件可以在任何通用Jupyter笔记本以及AiiDAlab中使用。示例

from optimade_client import
    OptimadeQueryProviderWidget,
    OptimadeQueryFilterWidget,
    OptimadeSummaryWidget
from ipywidgets import dlink

database_selector = OptimadeQueryProviderWidget()
structure_query = OptimadeQueryFilterWidget()
structure_viewer = OptimadeSummaryWidget()

# Save to `_` in order to suppress output
_ = dlink((database_selector, 'database'), (structure_query, 'database'))
_ = dlink((structure_query, 'structure'), (structure_viewer, 'entity'))

display(database_selector, structure_query, structure_viewer)

这将使用包自带的分子结构查看器和摘要小部件。

注意,上述OptimadeQueryWidget是AiiDAlab中针对OptimadeQueryProviderWidgetOptimadeQueryFilterWidget小部件的特殊包装小部件。

本地运行应用程序

首先,您需要从PyPI安装该包,或从GitHub检索git存储库。

PyPI

pip install optimade-client[server]

GitHub

git clone https://github.com/CasperWA/voila-optimade-client.git
cd voila-optimade-client
pip install .[server]

请注意,安装server额外组件对于安装voila包(以及ase包,用于更广泛的支持下载格式)也很重要。

要运行应用程序(笔记本)OPTIMADE-Client.ipynb,您可以在终端中运行optimade-client命令并转到打印的URL(通常是http://localhost:8866)或传递--open-browser选项,让程序尝试自动打开您的默认浏览器。

应用程序将在Voilà中使用基于Voilà自己的tornado服务器运行。在启动服务器之前,配置将自动复制到Jupyter的配置目录。

optimade-client

有关可以向optimade-client传递的所有选项列表,请使用-h/--help选项。

贡献

如果您希望为应用程序做出贡献,您可以使用-e标志安装它以“可编辑”模式:pip install -e .[dev]。建议您使用上述GitHub路线。

您还应在克隆的git存储库中运行以下命令来安装pre-commit

pre-commit install

要开始做出贡献,请对存储库进行分支并创建PR。

配置(Voilà)

要在Binder上运行应用程序(在Voilà中)时使用配置,可以使用配置文件jupyter_config.json
如果您希望以相同的配置在本地启动Voilà服务器,请将jupyter_config.json文件复制到您的Jupyter配置目录,并将其重命名为voila.json或在使用CLI启动服务器时传递配置。

注意:在运行应用程序时使用optimade-client命令时,会自动将jupyter_config.json复制为voila.json

定位您的Jupyter配置目录

jupyter --config-dir
/path/to/jupyter/config/dir

使用CLI启动Voilà服务器时传递配置的示例

voila --enable_nbextensions=True --VoilaExecutePreprocessor.timeout=180 "OPTIMADE-Client.ipynb"

要查看配置的全列表,可以调用voila并传递--help-all

使用“开发”提供者运行(针对Materials Cloud特定)

将环境变量 OPTIMADE_CLIENT_DEVELOPMENT_MODE 设置为 1(表示 True1)或 False0)的整数值),以强制使用提供商的开发服务器(目前仅适用于 Materials Cloud)。

许可证

MIT. 许可协议的条款可以在 LICENSE 文件中找到。

致谢

BIG-MAP BIG-MAP;本项目已获得欧盟“地平线2020”研究和创新计划资助,资助协议号 No 957189。该项目是大型欧洲研究倡议BATTERY 2030+的一部分,旨在发明可持续的未来电池。

联系方式

casper+github@welzel.nu
aiidalab@materialscloud.org

项目详情


下载文件

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

源分布

optimade-client-2023.8.30.tar.gz (178.2 kB 查看哈希值)

上传时间

构建分布

optimade_client-2023.8.30-py3-none-any.whl (181.8 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面