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
    

Optional Logging

Logging is disabled by default. To enable file logging, set LAZYGRADLE_LOG_FILE.

LAZYGRADLE_LOG_FILE=1 python app.py

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

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

LAZYGRADLE_LOG_LEVEL is also supported and defaults to DEBUG when logging is enabled.

(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.8.tar.gz (46.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.8-py3-none-any.whl (52.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lazygradle-1.1.8.tar.gz
  • Upload date:
  • Size: 46.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.8.tar.gz
Algorithm Hash digest
SHA256 069c63982f1a86d43c000b9f8dd18facae56e2bed8087a32b9ae7ceff1644476
MD5 37b0cb84aed8f6439049da5c65cb80ea
BLAKE2b-256 6613bc69b590ae0138effd769c65bfe1762ef5d64721308730763079773d473b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: lazygradle-1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 52.8 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 3fdc67b899c382307e8b52987c1e3fcca42954a255052af44f21518f7002d97b
MD5 7a2992bb97563b8c961e0c2bba7f189f
BLAKE2b-256 b58d946c528f847c2a7fe4c32848bc2bbbceec8a4a57172d9d7b1d02db7289db

See more details on using hashes here.

Provenance

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