跳转到主要内容

一个用于绘制能带结构和态密度的Jupyter小部件。

项目描述

widget-bandsplot: 用于绘制能带结构和态密度的Jupyter小部件

PyPI version Binder screenshot comparison

一个用于绘制能带结构和态密度的Jupyter小部件。该小部件使用mc-react-bands JavaScript包,并通过anywidget转换为Jupyter小部件。

安装

pip install widget-bandsplot

用法

小部件的最简使用示例如下

widget = BandsPlotWidget(
    bands = [bands_data],
    dos = dos_data,
    energy_range = [-10.0, 10.0],
    format_settings = {
        "showFermi": True,
        "showLegend": True,
    }
)
display(widget)

其中 bands_datados_data 分别包含能带结构和态密度数据。这些数据对象的格式如下

  • 能带结构数据遵循 AiiDA CLI 导出格式,可以通过以下命令从 AiiDA BandsData 节点生成
    verdi data band export <PK> --format=json
    
  • 态密度数据使用自定义格式,一个有效的示例如下
    dos_data = {
        "fermi_energy": -7.0,
        "dos": [
            {
                "label": "Total DOS",          # required
                "x": [0.0, 0.1, 0.2],          # required
                "y": [1.2, 3.2, 0.0],          # required
                "lineStyle": "dash",           # optional
                "borderColor": "#41e2b3",      # optional
                "backgroundColor": "#51258b",  # optional
            },
            {
                "label": "Co",
                "x": [0.0, 0.1, 0.2],
                "y": [1.2, 3.2, 0.0],
                "lineStyle": "solid",
                "borderColor": "#43ee8b",
                "backgroundColor": "#59595c",
            },
        ],
    }
    

有关更详细的用法,请参阅 example/example.ipynb,以及更多示例输入文件请参阅 example/data

开发

安装 Python 代码

pip install -e .[dev]

然后您需要安装 JavaScript 依赖项并运行开发服务器。

npm install
npm run dev

在 Jupyter notebook 或 lab 中打开 examples/example.ipynb 以开始开发。在 js/ 中做出的更改将在笔记本中反映出来。

发布和发布新版本

为了发布库的新版本并将其发布到 PYPI,请运行

bumpver update --major/--minor/--patch

这将

  • 更新版本号,进行相应的 git commitgit tag 操作;
  • 将此提交和标签推送到 Github,这将触发 Github Action 以创建新的 Github 发布并发布包到 PYPI。

Github 工作流程测试

screenshot comparison

“截图比较”测试将使用 seleniumchrome-driver 生成小部件的图像,并将其与 test/widget-sample.png 中的参考图像进行比较。

要更新参考图像:从称为“上传截图”的 Github 工作流程步骤中下载生成的图像,并替换 test/widget-sample.png

致谢

我们感谢 EPFL Open Science Fund 通过 OSSCAR 项目提供的支持。

项目详情


下载文件

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

源分布

widget_bandsplot-0.7.4.tar.gz (185.9 kB 查看散列值)

上传时间

构建分发版

widget_bandsplot-0.7.4-py3-none-any.whl (187.8 kB 查看哈希值)

上传时间 Python 3

由以下支持