Thanks to visit codestin.com
Credit goes to github.com

Skip to content

xbugs221/lazyverdi

Repository files navigation

lazyverdi

PyPI
Python Downloads
pre-commit Ruff mypy
License CI codecov

中文文档

A keyboard-driven TUI frontend for AiiDA verdi commands, manage AiiDA as elegantly as you use lazygit

final

Why this project

Pain points of verdi command line:

  • Inefficient: Repeatedly typing verdi process list → filtering → verdi process kill PK → checking logs
  • Stateless: Context is constantly lost between commands
  • Difficult batch operations: Requires writing scripts

A TUI tool designed with reference to lazygit/lazydocker, achieving:

  • Keyboard-driven, responsive operations
  • Asynchronous execution, no workflow interruption
  • Multi-selection and batch operations (vim keybindings)

Installation

lazyverdi depends on the aiida-core library, please install it in a virtual environment that contains it

uv pip install lazyverdi
lazyverdi

Development

uv pip install -e ".[dev]"
pre-commit install
pytest tests/  # Requires ≥70% coverage

Feature Status

  • ✅ 7-panel UI layout + asynchronous command execution
  • ✅ Vim-style keyboard navigation
  • ✅ Configuration system (~/.config/lazyverdi/config.yaml)

Limitation: Only supports query commands (list/show/status), does not support interactive commands

Configuration Rules

Configuration file location: ~/.config/lazyverdi/config.yaml, follows YAML syntax

Parameter Name Type Default Options Description
theme str monokai Any Textual theme Color theme
auto_refresh_interval float 10 ≥0.1 or ≤0 Auto-refresh interval in seconds; supports floating point; set to 0 or negative to disable
auto_refresh_on_startup bool true true/false Whether to enable auto-refresh on application startup
left_panel_width_percent int 40 1-99 Left panel width percentage (right panel automatically occupies remaining space)
results_panel_height_percent int 80 1-99 Results panel (panel-0) height percentage
focused_panel_height_percent int 50 1-99 Height percentage when panel gains focus
show_line_numbers bool false true/false Whether to show line numbers in text areas
soft_wrap bool true true/false Whether to enable soft wrapping for long lines
scrollbar_vertical_width int 1 1-3 Vertical scrollbar width (in characters)
scrollbar_horizontal_height int 1 1-3 Horizontal scrollbar height (in characters)
show_welcome_message bool true true/false Whether to show welcome message on startup
initial_focus_panel int 0 0-6 Default focused panel on startup (0=details, 1-5=left panels, 6=status panel)

License

MIT License

About

lazygit style TUI for verdi (Aiida cli)

Topics

Resources

License

Stars

Watchers

Forks

Languages