Skip to main content

Keyboard-driven TUI frontend for AiiDA verdi CLI

Project description

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

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.1.tar.gz (243.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.1-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lazyverdi-1.0.1.tar.gz
  • Upload date:
  • Size: 243.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.1.tar.gz
Algorithm Hash digest
SHA256 383b9b5c7190df5c1622310551d72b96cb59c7f9fd29b3755767d5122766be39
MD5 754b5fedb044ea75e8bf9b288a181e4c
BLAKE2b-256 c7e1ab8c76be43b6f8d56602bbfd8f207474f8c78c8c3e01cbe6fbf954bf6173

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyverdi-1.0.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: lazyverdi-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 32.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b35ceae32e06a9b4188b44cbe907bad51790e4aee34a4321441fc1228445ef53
MD5 05224652fcbd3ccb230b3b8d27117564
BLAKE2b-256 c22e8ac7ffc2acc95260bf8a22ed16ae385d722eb98c6537634dabd4f2e69353

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyverdi-1.0.1-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