Skip to main content

A library that auto reloads your tkinter app whenever file changes are detected.

Project description

TkReload-Logo

Static Badge
Static Badge GitHub last commit

tkreload is an open-source tool for automatically reloading terminal-based Python applications, saving developers valuable time.

InstallationUsageContributingTestingLicense

Problem Statement

Developers often lose significant time manually restarting terminal applications during development. This process can be tedious and time-consuming, especially when working on complex projects that require frequent updates and testing.

Time-Saving Analysis

Let’s assume that a developer restarts their terminal application approximately 15 times per day, and each reload takes 30 seconds. This adds up to 7.5 minutes daily or around 3.12 hours per month. Multiply that by the number of developers working on a project, and you quickly see how terminal reloading becomes a significant bottleneck in development productivity.

Solution: tkreload

tkreload solves this issue by providing an automatic reload mechanism for terminal-based Python applications, particularly those using Tkinter. It eliminates the need for manual restarts, saving developers hours of time and streamlining the debugging process.

Without tkreload

Without tkreload

With tkreload

With tkreload

Getting Started

Prerequisites

  • Python 3.9+
  • pip

Installation

  1. Clone the repository:
git clone https://github.com/iamDyeus/tkreload.git
cd tkreload
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Install tkreload:
pip install .

Usage

To run the app with tkreload, use the following command in your terminal:

tkreload your_app.py

Now, whenever you save changes to your script, tkreload will automatically reload your application.

Testing

Ensuring the functionality and reliability of tkreload is crucial. Follow these steps to run the test suite for the project:

  1. Install Testing Dependencies Before running the tests, install the required dependencies (e.g., pytest). You can do this by installing the packages listed in the requirements.txt file.
  2. Running Tests Navigate to the root directory of the project (tkreload) and run the tests using pytest with the following command:
pytest .

Contributing

Contributions are welcome and greatly appreciated! Here's how you can contribute:

  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

COMMUNISM

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Acknowledgments

  • Inspired by the need for efficient development workflows
  • Thanks to all contributors and supporters of this project

Star History

Star History Chart

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

tkreload-1.0.3.tar.gz (1.6 MB view hashes)

Uploaded Source

Built Distribution

tkreload-1.0.3-py3-none-any.whl (11.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page