Keyboard-driven TUI frontend for AiiDA verdi CLI
Project description
lazyverdi
键盘驱动的 AiiDA verdi 命令 TUI 前端,让你像用 lazygit 一样优雅地管理 AiiDA
为什么做这个
verdi 命令行的几个痛点:
- 低效: 反复输入
verdi process list→ 筛选 →verdi process kill PK→ 查看日志 - 无状态: 命令之间不断丢失上下文
- 批量操作困难: 需要编写脚本
参考 lazygit/lazydocker 设计的 TUI 工具,做到:
- 键盘驱动,操作跟手
- 异步执行,不打断心流
- 多选和批量操作(vim 快捷键)
安装
lazyverdi 依赖 aiida-core 库,请安装到包含它的虚拟环境
uv pip install lazyverdi
lazyverdi
开发
uv pip install -e ".[dev]"
pre-commit install
pytest tests/ # 需要 ≥70% 覆盖率
功能状态
- ✅ 7 面板 UI 布局 + 异步命令执行
- ✅ Vim 风格键盘导航
- ✅ 配置系统(
~/.config/lazyverdi/config.yaml)
限制:仅支持查询命令(list/show/status),不支持交互式命令
配置规则
配置文件位置 ~/.config/lazyverdi/config.yaml,遵从 yaml 语法
| 参数名称 | 类型 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|
| theme | str | monokai | 任意 Textual 主题 | 配色主题 |
| auto_refresh_interval | float | 10 | ≥0.1 或 ≤0 | 自动刷新间隔,单位秒;支持浮点数;设置为 0 或负数表示禁用 |
| auto_refresh_on_startup | bool | true | true/false | 应用启动时是否启用自动刷新 |
| left_panel_width_percent | int | 40 | 1-99 | 左侧面板宽度百分比(右侧面板自动占用剩余空间) |
| results_panel_height_percent | int | 80 | 1-99 | 结果面板(panel-0)高度百分比 |
| focused_panel_height_percent | int | 50 | 1-99 | 面板获得焦点时的高度百分比 |
| show_line_numbers | bool | false | true/false | 是否在文本区域显示行号 |
| soft_wrap | bool | true | true/false | 是否启用长行软换行 |
| scrollbar_vertical_width | int | 1 | 1-3 | 垂直滚动条宽度(字符数) |
| scrollbar_horizontal_height | int | 1 | 1-3 | 水平滚动条高度(字符数) |
| show_welcome_message | bool | true | true/false | 启动时是否显示欢迎消息 |
| initial_focus_panel | int | 0 | 0-6 | 启动时默认聚焦的面板(0=details, 1-5=左侧面板, 6=状态面板) |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lazyverdi-0.9.0.tar.gz.
File metadata
- Download URL: lazyverdi-0.9.0.tar.gz
- Upload date:
- Size: 139.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18cf850c19033fa907077e37326b71a22045c4b07d1da459e664e22d0b5a01db
|
|
| MD5 |
e3801e70d2a68ba368d4db7ddae8eed3
|
|
| BLAKE2b-256 |
d5a1d00467187ac426768701dc8ab5f88e7b12347e9259d60a6a737f82442b72
|
Provenance
The following attestation bundles were made for lazyverdi-0.9.0.tar.gz:
Publisher:
publish.yml on xbugs221/lazyverdi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lazyverdi-0.9.0.tar.gz -
Subject digest:
18cf850c19033fa907077e37326b71a22045c4b07d1da459e664e22d0b5a01db - Sigstore transparency entry: 787006428
- Sigstore integration time:
-
Permalink:
xbugs221/lazyverdi@9adb7321c149e26c85783698ad04d7bc0c0af1a4 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/xbugs221
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9adb7321c149e26c85783698ad04d7bc0c0af1a4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lazyverdi-0.9.0-py3-none-any.whl.
File metadata
- Download URL: lazyverdi-0.9.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd07ac7a5848ae0f601ce0c57681701fbf7704853ba51ed6f436803f4155250b
|
|
| MD5 |
e8e32038493a59b754ea7c6748f22a64
|
|
| BLAKE2b-256 |
d03e7db4550070b83b85a8f32849207f9b7e78db1c300ca3db244fe4d85c0ac7
|
Provenance
The following attestation bundles were made for lazyverdi-0.9.0-py3-none-any.whl:
Publisher:
publish.yml on xbugs221/lazyverdi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lazyverdi-0.9.0-py3-none-any.whl -
Subject digest:
fd07ac7a5848ae0f601ce0c57681701fbf7704853ba51ed6f436803f4155250b - Sigstore transparency entry: 787006433
- Sigstore integration time:
-
Permalink:
xbugs221/lazyverdi@9adb7321c149e26c85783698ad04d7bc0c0af1a4 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/xbugs221
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9adb7321c149e26c85783698ad04d7bc0c0af1a4 -
Trigger Event:
push
-
Statement type: