Skip to main content

A TUI for managing and running your Gradle tasks

Project description

Contributors Forks Stargazers Issues MIT License


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 Main interface showing task list and details

Project Manager Manage multiple Gradle projects

Run Gradle Tasks Run Gradle tasks

Run Gradle Tasks w/ Parameters 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

(back to top)

Built With

  • Python
  • Textual

(back to top)

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 gradlew wrapper or system gradle installed)

Installation

Via pip

pip install lazygradle

Manually

  1. Clone the repository

    git clone https://github.com/jacob-sabella/lazygradle.git
    
  2. Navigate to the project directory

    cd lazygradle
    
  3. Create and activate a virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  4. Install dependencies

    pip install -r requirements.txt
    
  5. Run the application

    python app.py
    

(back to top)

Usage

First Launch

When you first launch LazyGradle, you'll need to add a Gradle project:

  1. Press p to open the project chooser
  2. Add your Gradle project directory
  3. 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 mode
  • r - Run the selected task
  • R - Run the selected task with custom parameters
  • Tab / Shift+Tab - Navigate between UI elements
  • / - Navigate task list

Running Tasks

  1. Select a task from the list on the left
  2. View the task description on the right
  3. Press r to run, or R to run with parameters
  4. 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.

(back to top)

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Acknowledgments

(back to top)

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).

(back to top)

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

lazygradle-1.1.6.tar.gz (38.7 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.1.6-py3-none-any.whl (44.0 kB view details)

Uploaded Python 3

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

Hashes for lazygradle-1.1.6.tar.gz
Algorithm Hash digest
SHA256 994e115033432f115b33f7bfffaea78fb9efdb6c258008a56edd42499d1333a1
MD5 6f838f3f3e7b3fb32c90a9250890a8a8
BLAKE2b-256 b7070b02855b15ca505ed825cd5e70e04f9ccd88b67c771bf4ed5c8fa66b2c8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazygradle-1.1.6.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.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

Hashes for lazygradle-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ecfc5206b79022e26797021bd3ed03f7698b12f378f0d317fd9585c10b1ff46a
MD5 6e874505e2ec85bf571f88a8c02f03e0
BLAKE2b-256 9e2bd5875c9a1e2a23f384d9559af43d5b3b3540426848508f51e3e062153216

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazygradle-1.1.6-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.

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