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.4.tar.gz (31.9 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.4-py3-none-any.whl (37.1 kB view details)

Uploaded Python 3

File details

Details for the file lazygradle-1.1.4.tar.gz.

File metadata

  • Download URL: lazygradle-1.1.4.tar.gz
  • Upload date:
  • Size: 31.9 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.4.tar.gz
Algorithm Hash digest
SHA256 4ccbca4ff62b6b812d2c1917829a5441029eec9e31516d721b030ce459a91afa
MD5 8d98c454f83d3e40ace82b81dfdd0808
BLAKE2b-256 2dce4adfdc1160432e356b38edc4f4de1ff4424a977566831b370eb241f1a79a

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazygradle-1.1.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: lazygradle-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 37.1 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 103a36dad5f4e77d5daf945e6da870d0e71c4af34c01fb0e9489faa211d41df6
MD5 3026a29a2c1669a043d61eaed57c6216
BLAKE2b-256 8c309fdc778189cc8072902d9227fdb050dda468fee02169b4efb20cb19ca5fe

See more details on using hashes here.

Provenance

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