Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Contributors Forks Stargazers Issues MIT License PyPI Downloads

lazygradle

lazygradle is a Textual-based TUI for browsing Gradle tasks, running them quickly, and reviewing task output without leaving the terminal.

It is built for the workflow of:

  • keeping multiple Gradle projects cached and switchable
  • searching a large task list quickly
  • running tasks with or without saved parameter sets
  • reviewing recent task history and output in a dedicated task manager tab
  • staying mostly keyboard-driven

Screenshots

Current Setup

Current Setup

Browse available tasks, search with /, inspect task details, and run tasks or saved configurations from the same screen.

Task Manager

Task Manager

Review task history on the left and inspect structured output on the right with vim-style motions, visual selection, yanking, and pane-focused navigation.

Run With Parameters

Run Task With Parameters

Launch tasks with custom CLI flags and environment variables, then save those inputs as reusable configurations.

Keys Guide

Keys Guide

The command palette includes a contextual keys guide that explains global controls plus tab- and pane-specific actions.

Highlights

  • Multi-project support with cached Gradle metadata
  • Fast task search and keyboard-first task execution
  • Saved task configurations with parameters and environment variables
  • Recent task history with re-run support
  • Dedicated Task Manager tab for output review
  • Vim-style Task Output navigation, visual selection, and yank support
  • Contextual key guide from the command palette
  • Optional file logging via environment variable

Installation

pip

pip install lazygradle

Run it with:

lazygradle

From Source

git clone https://github.com/jacob-sabella/lazygradle.git
cd lazygradle
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.py

Requirements

  • Python 3.13+
  • A Gradle project
  • Either a working gradlew wrapper in the project or gradle available on PATH

Quick Start

  1. Launch lazygradle.
  2. Press p to open the project chooser.
  3. Add or select a Gradle project.
  4. Use / to focus task search on the Current Setup tab.
  5. Press r to run the highlighted task or R to run it with parameters.
  6. Press 2 to open Task Manager and inspect recent runs and output.

Keyboard Workflow

Global

  • 1 / 2 switch between tabs
  • p opens the project chooser
  • Ctrl+h/j/k/l moves between panes in the active tab
  • Ctrl+Arrow keys do the same pane movement if you prefer arrows

Current Setup

  • / focuses the task search input
  • Enter in search jumps to the first result
  • r runs the selected task
  • R runs the selected task with parameters
  • F5 refreshes the task list

Task Output

  • j / k or arrow up/down move the cursor line
  • h / l or arrow left/right scroll horizontally
  • gg, G, Ctrl+d, Ctrl+u, 0, $ work as expected
  • v toggles visual mode
  • mouse drag also enters visual selection
  • y yanks the current visual selection
  • yy yanks the current line
  • + / - adjusts readability zoom for the output pane

Logging

Logging is disabled by default.

Enable it by setting LAZYGRADLE_LOG_FILE:

LAZYGRADLE_LOG_FILE=1 lazygradle

That writes to lazygradleapp.log in the current directory. You can also provide an explicit path:

LAZYGRADLE_LOG_FILE=~/.local/state/lazygradle/app.log lazygradle

LAZYGRADLE_LOG_LEVEL is also supported. When logging is enabled, it defaults to DEBUG.

Configuration

Project state is stored in:

~/.config/lazygradle/gradle_cache.json

That cache includes saved projects, recent task history, saved run configurations, theme selection, and Task Output settings.

Contributing

Issues and pull requests are welcome.

If you want to contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Make the change
  4. Open a pull request

License

Distributed under the MIT License. See LICENSE.

Acknowledgments

Download files

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

Source Distribution

lazygradle-1.4.0b8.tar.gz (51.4 kB view details)

Uploaded Source

Built Distribution

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

lazygradle-1.4.0b8-py3-none-any.whl (53.2 kB view details)

Uploaded Python 3

File details

Details for the file lazygradle-1.4.0b8.tar.gz.

File metadata

  • Download URL: lazygradle-1.4.0b8.tar.gz
  • Upload date:
  • Size: 51.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for lazygradle-1.4.0b8.tar.gz
Algorithm Hash digest
SHA256 e19e656d51f59f29d65d2c71d2c5b4364200240c46498d3d851f2184f13dbecd
MD5 8cc767bab565644681f92a53bcfcf613
BLAKE2b-256 ff0a5bb9898459c7ae37cfc4d533da740e3e822a72f14396f641cecb8dd1854e

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazygradle-1.4.0b8.tar.gz:

Publisher: python-publish.yml on jacob-sabella/lazygradle

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

File details

Details for the file lazygradle-1.4.0b8-py3-none-any.whl.

File metadata

  • Download URL: lazygradle-1.4.0b8-py3-none-any.whl
  • Upload date:
  • Size: 53.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for lazygradle-1.4.0b8-py3-none-any.whl
Algorithm Hash digest
SHA256 a55e21041fef76ad01d9a419bd8844b3a5ee90b15f607baedf6855930706b0d2
MD5 6749c489532c4c013bd9b24d33cc64ca
BLAKE2b-256 5d760c84b0aca6c6edcae08b7f8283cae59a60fcf930f7e65f607f33470bd1ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazygradle-1.4.0b8-py3-none-any.whl:

Publisher: python-publish.yml on jacob-sabella/lazygradle

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

Release history Release notifications | RSS feed

This release

1.4.0b8 This release

2 files

1.3.0

2 files

1.2.0

2 files

1.1.10

2 files

1.1.9

2 files

1.1.8

2 files

1.1.7

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page