一个用于绘制能带结构和态密度的Jupyter小部件。
项目描述
widget-bandsplot
: 用于绘制能带结构和态密度的Jupyter小部件
一个用于绘制能带结构和态密度的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_data
和 dos_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 commit
和git tag
操作; - 将此提交和标签推送到 Github,这将触发 Github Action 以创建新的 Github 发布并发布包到 PYPI。
Github 工作流程测试
“截图比较”测试将使用 selenium
和 chrome-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 查看哈希值)
关闭
widget_bandsplot-0.7.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a627f6fa5b85b98b8a29dae1fce5c00c6ceae3422e8a657c7ff192ee3d836594 |
|
MD5 | ee2d010fb09f249a14da5a41431d81b0 |
|
BLAKE2b-256 | 7b9fae147822b63f02a6a25c1263787c3d0074997e351f2cc6ae365387914d99 |
关闭
widget_bandsplot-0.7.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aae3d2838be80d7ce514a1f3a761a77baef86691d761e908acdf49462551d4be |
|
MD5 | f64f878babe0731e9a717c990ae9e040 |
|
BLAKE2b-256 | bd0abeaffe8d6e2000d45f2da8e50cc799c12cc86380c1c36cc11ae5935a4295 |