A TUI for managing and running your Gradle tasks
Project description
lazygradle
A TUI for managing and running your Gradle tasks
Explore the docs »
Report Bug
·
Request Feature
About The Project
LazyGradle is a Terminal User Interface (TUI) application for managing and running Gradle tasks.
Main interface showing task list and details
Manage multiple Gradle projects
Run Gradle tasks
Run Gradle tasks with parameters
Features:
- Manage multiple Gradle projects
- View all available tasks with descriptions
- Run tasks with or without parameters
- Real-time task output streaming
- Configuration persistence
- Dark mode
- Keyboard navigation
- Task execution history tracking
Built With
Getting Started
To get LazyGradle up and running on your local machine, follow these simple steps.
Prerequisites
- Python 3.13 or higher
- A Gradle project (with
gradlewwrapper or systemgradleinstalled)
Installation
Via pip
pip install lazygradle
Manually
-
Clone the repository
git clone https://github.com/jacob-sabella/lazygradle.git
-
Navigate to the project directory
cd lazygradle
-
Create and activate a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Run the application
python app.py
Usage
First Launch
When you first launch LazyGradle, you'll need to add a Gradle project:
- Press
pto open the project chooser - Add your Gradle project directory
- LazyGradle will automatically detect and cache all available tasks
Keyboard Shortcuts
p- Open project chooser (switch between projects or add new ones)d- Toggle dark moder- Run the selected taskR- Run the selected task with custom parametersTab/Shift+Tab- Navigate between UI elements↑/↓- Navigate task list
Running Tasks
- Select a task from the list on the left
- View the task description on the right
- Press
rto run, orRto run with parameters - Watch the real-time output in the output panel
Managing Projects
LazyGradle stores your project configurations in ~/.config/lazygradle/gradle_cache.json, so your projects and their task lists are remembered between sessions.
Contributing
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE for more information.
Acknowledgments
- Textual - The amazing TUI framework that powers LazyGradle
- Best-README-Template - For this README template
- Shields.io - For the badges
AI Usage in Development
The ability to get this project to a usable state in my free time was definitely made possible through the help of Generative AI tooling to assist with development. This has included the following.
- Claude Code (CLAUDE.MD file included in project)
- ChatGPT Web
- opencode
I do have plans to clean up much of the AI generated comments and code to graduate it a bit above "AI slop" status where its present, but it's certainly been a higher priority for me to get something working and usable for my other purposes (which is primarily Sockbowl development).
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 lazygradle-1.1.6.tar.gz.
File metadata
- Download URL: lazygradle-1.1.6.tar.gz
- Upload date:
- Size: 38.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
994e115033432f115b33f7bfffaea78fb9efdb6c258008a56edd42499d1333a1
|
|
| MD5 |
6f838f3f3e7b3fb32c90a9250890a8a8
|
|
| BLAKE2b-256 |
b7070b02855b15ca505ed825cd5e70e04f9ccd88b67c771bf4ed5c8fa66b2c8b
|
Provenance
The following attestation bundles were made for lazygradle-1.1.6.tar.gz:
Publisher:
python-publish.yml on jacob-sabella/lazygradle
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lazygradle-1.1.6.tar.gz -
Subject digest:
994e115033432f115b33f7bfffaea78fb9efdb6c258008a56edd42499d1333a1 - Sigstore transparency entry: 762994749
- Sigstore integration time:
-
Permalink:
jacob-sabella/lazygradle@2113d0d55245c831364103572e42759060e8a6ef -
Branch / Tag:
refs/tags/v1.1.6 - Owner: https://github.com/jacob-sabella
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2113d0d55245c831364103572e42759060e8a6ef -
Trigger Event:
release
-
Statement type:
File details
Details for the file lazygradle-1.1.6-py3-none-any.whl.
File metadata
- Download URL: lazygradle-1.1.6-py3-none-any.whl
- Upload date:
- Size: 44.0 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 |
ecfc5206b79022e26797021bd3ed03f7698b12f378f0d317fd9585c10b1ff46a
|
|
| MD5 |
6e874505e2ec85bf571f88a8c02f03e0
|
|
| BLAKE2b-256 |
9e2bd5875c9a1e2a23f384d9559af43d5b3b3540426848508f51e3e062153216
|
Provenance
The following attestation bundles were made for lazygradle-1.1.6-py3-none-any.whl:
Publisher:
python-publish.yml on jacob-sabella/lazygradle
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lazygradle-1.1.6-py3-none-any.whl -
Subject digest:
ecfc5206b79022e26797021bd3ed03f7698b12f378f0d317fd9585c10b1ff46a - Sigstore transparency entry: 762994764
- Sigstore integration time:
-
Permalink:
jacob-sabella/lazygradle@2113d0d55245c831364103572e42759060e8a6ef -
Branch / Tag:
refs/tags/v1.1.6 - Owner: https://github.com/jacob-sabella
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2113d0d55245c831364103572e42759060e8a6ef -
Trigger Event:
release
-
Statement type: