Skip to main content

Keyboard-driven TUI frontend for AiiDA verdi CLI

Project description

lazyverdi

中文文档

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

PyPI status PyPI
Python Downloads
Style pre-commit Ruff mypy
Build status License CI codecov

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lazyverdi-1.0.0.tar.gz (141.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lazyverdi-1.0.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file lazyverdi-1.0.0.tar.gz.

File metadata

  • Download URL: lazyverdi-1.0.0.tar.gz
  • Upload date:
  • Size: 141.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lazyverdi-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c3ad023bb251528c89c9246236e1c3678919c990fcac2187172edf82c16964d8
MD5 cc38f805c256857e18f19f424331d633
BLAKE2b-256 1460a148c12ae3f5f26703f6b17ef250a2e4084a237ef40a2d736f24bce19f90

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyverdi-1.0.0.tar.gz:

Publisher: publish.yml on xbugs221/lazyverdi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lazyverdi-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: lazyverdi-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lazyverdi-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1c143d612a89f37f7abb767428b4c8faa434bdb868b61cdc88ed1b4b0f137c5
MD5 328f1c20be116e4cfd6956328c494c4f
BLAKE2b-256 042f0f97a5da692e4cccbf6b32a3277215af933fd14973f23f319f40fc30e2c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyverdi-1.0.0-py3-none-any.whl:

Publisher: publish.yml on xbugs221/lazyverdi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page